Laravel AJAX NotFoundHttpException

Я пытался использовать AJAX в моем проекте Laravel, но он всегда возвращает ошибку,

NotFoundHttpException on RouteCollection.php «,» line «: 179

Мой маршрут в web.php

Route::post('/ajaxRequest','AjaxController@index');

Код контроллера

class AjaxController extends Controller {
public function index(){
$msg = "Ajax test message";
return response()->json(array('msg'=> $msg), 200);
}
}

Вызов Ajax, который я использовал,

    $.ajax({
type:'POST',
url:'{{url("/ajaxRequest")}}',
datatype:'json',
data: pass,
success:function(data){
$("#result").html(data.msg);
}
}).fail(function (jqXHR, textStatus, error) {
// Handle error here
$("#result").html(jqXHR.responseText);
});

и использовал содержимое метатега для csrf_token

<meta name="csrf-token" content="{!! csrf_token() !!}">

И получил значение, используя

var pass={'_token': $('meta[name="csrf-token"]').attr('content')};

Пожалуйста, помогите мне решить эту ошибку.

2

Решение

изменить маршрут к этому

Route::post('/ajaxRequest','AjaxController@index')->name('routeName');

и в запрос ajax внесите следующие изменения:

 $.ajax({
type:'POST',
url:'/ajaxRequest',  //if in js file
url:'{{route("routeName")}}',  //if in blade file
datatype:'json',
data: pass,
success:function(data){
$("#result").html(data.msg);
}
}).fail(function (jqXHR, textStatus, error) {
// Handle error here
$("#result").html(jqXHR.responseText);
});
1

Другие решения

Маршрут звонка с использованием имени маршрута

Файл маршрута

Route::post('/ajaxRequest','AjaxController@index')->name('ajaxRequest');

И ваш запрос AJAX

 $.ajax({
type:'POST',
url:'{{route("ajaxRequest")}}',
datatype:'json',
data: pass,
success:function(data){
$("#result").html(data.msg);
}
}).fail(function (jqXHR, textStatus, error) {
// Handle error here
$("#result").html(jqXHR.responseText);
});
0

По вопросам рекламы [email protected]