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

NotFoundHttpException в RouteCollection.php »,« строка »: 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
Praseetha P S 8 Окт 2018 в 12:22

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
Exterminator 8 Окт 2018 в 09:31

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

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

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
Emtiaz Zahid 8 Окт 2018 в 09:30