user3844579
user3844579

Reputation: 505

laravel ajax action url with parameters

I have a problem with an ajax call. The url that i need to get the data is:

localhost/public/getCode?course_id=1&task_id=1

My ajax call is:

function getCode() {
                $.ajax({
                    type: "GET",
                    dataType: 'json',
                    url: "{{action('CodeEditorController@getCode',['course_id'=>$course,'task_id'=>$maintask])}}",
                    success: function (data) {
                        console.log(data);
                    }
                });
            }

But the data returned is empty.

Edit: getCode function:

public function getCode(Request $request)
{
    $code=Code::where('user_id',$user->id)->where('main_task_id',$request->input('task_id'))->first()->code;
    $response = [
        'data' => $code
    ];

    return response()->json($response, 200);
}

What is the issue with my ajax code?

Thanks!

Upvotes: 2

Views: 9996

Answers (1)

Alexey Mezenin
Alexey Mezenin

Reputation: 163768

One way to do that is to use data for options:

data: {
    'course_id': {{ $course }},
    'task_id': {{ $maintask }} 
},

To get values in controller you can just use request('course_id') and request('task_id')

Also it's a really bad idea to use Blade/PHP to build JS. You should use hidden inputs or something to pass data to JS.

Upvotes: 4

Related Questions