Я делаю простую проверку на своем контроллере Laravel:
public function updateInfo(Request $request) {
$validator = $request->validate([
"name" => ["string", "nullable"],
"email" => ["email", "nullable"],
"currentPassword" => ["password:api"]
]);
return json_encode($validator);
}
Моя проблема в том, что эта проверка перенаправляет меня домой в случае сбоя, и я делаю запрос через AJAX, я знаю, что Laravel определяет, когда запрос отправляется через Ajax, но он работает, только если это обычный запрос (типичный запрос, в котором я отправляю заголовки с Content Type application/json
, а в теле я отправляю обычный JSON
Но Laravel не может обнаружить, когда запрос te Ajax не соответствует Content Type application/json
, я использую объект FormData()
из JavaScript, поэтому я не отправил заголовок Content Type application/json
, а в теле я отправил объект FormData.
Я думаю, что он имитирует типичный HTTP-запрос, перезагружающий страницу, и по этой причине Laravel не может его обнаружить, но это вызывает у меня проблемы с ответом ajax, потому что Laravel откликается на перенаправление, а в моем ответе Ajax я улавливаю HTML код домашней страницы.
Что я могу сделать?