Laravel尝试使用Ajax将值发布到控制器但出现错误

时间:2019-02-23 08:35:44

标签: php jquery laravel

我正在发送ajax请求来存储新单元,但它引发以下错误register_setting();

我的路线:

Symfony \ Component \ HttpKernel \ Exception \ MethodNotAllowedHttpException No message

ajax请求:

Route::post('add-unit',['as'=>'add-unit','uses'=>'Dashboard\StoreController@addunit']);

控制器

$('#btn').on("click", function (e){
 $.ajaxSetup({
    headers: {
        'X-CSRF-TOKEN': $('meta[name="_token"]').attr('content')
      }
 });
 e.preventDefault(); 
 var unitname = $('#unit_name_1').val();
 $.ajax({
     type:'post',
     url: "{{URL::route('add-unit')}}",
     data: {
       'unitname':unitname,                 
     },
     success:function(data){}
  });
});

2 个答案:

答案 0 :(得分:0)

在深入研究之前,您可以检查以下几件事:

我的Javascript发布到的实际网址是什么?
因此,您需要确保URL::route('add-unit')返回正确的URL。另外,我个人更喜欢使用route()辅助函数。

我当前的路线是什么?
尝试运行php artisan route:list并检查应用程序中所有可用的路由。检查此路由是否在其中,并具有正确的方法。

我的其他任何路线是否与所需路线干扰?
其他路线可能会干扰所需的路线。例如,您可以使用/{anything}之类的路由,而比/add-unit的路由早匹配。

答案 1 :(得分:0)

检查应用程序生成的路由。您可以查看页面源或检查元素。

要测试控制器,可以使用postman ..如果您的控制器工作正常并且生成的URL是正确的URL。它应该可以正常工作。

如果有任何错误。您可以在此处共享错误消息。