I am trying to issue a simple AJAX request to populate a menu in Laravel, however, I am having a lot of trouble with getting it to work properly.
I am not sure what the issue is, and after a couple hours of searching, I cannot find anything that can help.
Here is my AJAX request:
$.ajax({
type: 'POST',
url: '/ajax/populateApiAuth',
data: json,
dataType: 'JSON',
success: function (json) {
alert('test');
return true;
},
error: alert('fail')
});
My route to the AJAX callback:
Route::get('/ajax/populateApiAuth', 'ApiController@populateApiAuth');
and my controller to handle the AJAX callback in ApiController:
public function populateApiAuth()
{
return Response::json(array('msg' => 'test');
}
When sending the AJAX request, it returns with the fail message in the error parameters, and in the console, it tells me:
POST http://localhost:8000/ajax/populateApiAuth 405 (Method Not Allowed)
Researching this error message, it results from making a POST request to a different domain/server? How can this be?
I have tried to use an absolute URL for the AJAX request with:
url: '{{ URL::to("ajax/populateApiAuth") }}
which gives the full URL: http://localhost:8000/ajax/populateApiAuth
but that does not solve the issue either.
Wouldn't this be your issue?
Route::get('/ajax/populateApiAuth', 'ApiController@populateApiAuth');
You set the route up for GET requests, but you're trying to access it via a POST request.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With