Я пытаюсь выпустить простой запрос AJAX для заполнения меню в Laravel, однако у меня возникают большие проблемы с тем, чтобы он работал правильно.
Я не уверен, в чем проблема, и после нескольких часов поиска я не могу найти ничего, что могло бы помочь.
Вот мой запрос AJAX:
$.ajax({ type: 'POST', url: '/ajax/populateApiAuth', data: json, dataType: 'JSON', success: function (json) { alert('test'); return true; }, error: alert('fail') });
Мой маршрут к обратному сообщению AJAX:
Route::get('/ajax/populateApiAuth', 'ApiController@populateApiAuth');
и мой контроллер для обработки обратного вызова AJAX в ApiController:
public function populateApiAuth() { return Response::json(array('msg' => 'test'); }
При отправке запроса AJAX он возвращается с сообщением об ошибке в параметрах ошибки, а в консоли он сообщает мне:
POST http://localhost:8000/ajax/populateApiAuth 405 (Method Not Allowed)
Исследуя это сообщение об ошибке, оно возникает в результате запроса POST на другой домен / сервер? Как это может быть?
Я попытался использовать абсолютный URL для запроса AJAX с:
url: '{{ URL::to("ajax/populateApiAuth") }}
который дает полный URL: http://localhost:8000/ajax/populateApiAuth
но это также не решает проблему.
Разве это не будет вашей проблемой?
Route::get('/ajax/populateApiAuth', 'ApiController@populateApiAuth');
Вы устанавливаете маршрут для запросов GET, но вы пытаетесь получить к нему доступ через запрос POST.