Я использую простой javascript для запроса ajax следующим образом:
var form = document.querySelector('form');
xhr.responseType = 'json';
xhr.open('POST', form.getAttribute('action'));
xhr.setRequestHeader('X-CSRF-Token', document.querySelector('meta[name = "csrf-token"]').getAttribute('content'));
xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
xhr.send(new FormData(form));
В контроллере Laravel я использую помощник ajaxI():
public function updateMenu(Request $request)
{
var_dump($request->ajax());
}
Он возвращает false, как и isXMLHttpRequest().,
Что мне не хватает?
@newUserName02 хе-хе, я добавил заголовок к неправильному запросу ajax, должно быть, было слишком поздно. Спасибо за помощь
вы можете использовать метод запроса
$method = $request->method();
if ($request->isMethod('post')) {
//code here
}
Добавьте заголовки в правильный ajax-запрос после того, как выпили достаточно кофе
Ложь означает отсутствие заголовка
X-Requested-With
или неправильное значение. Видите ли вы заголовок, отправляемый с запросом, на вкладке сети в веб-инспекторе? Что происходит, когда вы выгружаете / регистрируете$request->headers
в контроллере?