Я пытаюсь создать запрос Ajax в laravel, но я столкнулся с 500 (Internal Server Error). Вот маршрут, который я создал:
Route::post('/ajaxtest', 'PagesController@update');
Это функция обновления, в настоящее время она ничего не делает.
public function update(Illuminate\Http\Request $request)
{
// if ($request->isMethod('post')){
// return response()->json(['response' => 'This is post method']);
// }
// return response()->json(['response' => 'This is get method']);
}
И это код jquery
function tryajax() {
$.ajax({
type: "POST",
url: './ajaxtest',
data: "",
success: function() {
console.log("Geodata sent");
}
})
};
На кнопке есть функция onclick.
Вероятно, это связано с промежуточным программным обеспечением csrf-protection. У вас есть 2 варианта: сделать исключение или эхо-маркер внутри вашего запроса.
https://laravel-news.com/excluding-routes-from-the-csrf-middleware
Чтобы получить ошибку в следующий раз:
расположение:
<meta name="csrf-token" content="{{ csrf_token() }}">
сценарий:
function tryajax() {
$.ajax({
type: "POST",
url: './ajaxtest',
data: "",
headers: { 'X-CSRF-TOKEN': $('meta[name=\'csrf-token\']').attr('content') }
success: function() {
console.log("Geodata sent");
}
})
};
Добавить csrf-токен для запроса
storage/logs
для подсказки.