Я пытался использовать 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')};
Пожалуйста, помогите мне решить эту ошибку.
изменить маршрут к этому
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);
});
Маршрут звонка с использованием имени маршрута
Файл маршрута
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);
});