代码之家  ›  专栏  ›  技术社区  ›  mafortis

拉维尔阿贾克斯返回405

  •  0
  • mafortis  · 技术社区  · 5 年前

    我试着用ajax t控制器发送数据 405 错误

    代码

    JS

    $(document).ready(function(){
            $('body').on('click', '.addbundlebutton', function(e){
                $.ajaxSetup({
                    headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') }
                });
                e.preventDefault();
                var data= [];
                $("input:checkbox[name=bundleProducts]:checked").each(function(){
                    data.push($(this).val());
                });
    
               // data are like ['41', '46'] in console //
    
                $.ajax({
                    type: "post",
                    url: "{{ url('testadd-bundle') }}",
                    data: JSON.stringify(data),
                    success: function (data) {
                        console.log(data.success);
                        $(".addbundlebutton").remove();
                    },
                    error: function (data) {
                        console.log('Error:', data);
                    }
                });
            });
        });
    

    Route

    Route::post('/add-bundle', 'frontend\BundleController@add');
    

    Controller

    public function add(Request $request){
      //testing data...
      $data = $request->all();
      return response()->json($data);
    }
    

    Screenshot

    one

    知道吗?

    1 回复  |  直到 5 年前
        1
  •  2
  •   nakov    5 年前

    使用此URL: url: "{{ url('testadd-bundle') }}",

    但你的路线是:

    url('/add-bundle')
    

    所以试试吧。405表示不允许的方法,例如,这意味着您在get路由上尝试post。