Ответ 1
Не будет ли это вашей проблемой?
Route::get('/ajax/populateApiAuth', '[email protected]');
Вы устанавливаете маршрут для запросов GET, но вы пытаетесь получить к нему доступ через запрос POST.
Я пытаюсь выпустить простой запрос 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', '[email protected]');
и мой контроллер для обработки обратного вызова 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', '[email protected]');
Вы устанавливаете маршрут для запросов GET, но вы пытаетесь получить к нему доступ через запрос POST.