Laravel Ajax post方法提供MethodNotAllowedHttpException

时间:2018-12-06 06:14:11

标签: javascript php ajax laravel

我正在尝试向控制器函数发出ajax POST请求,但我一直收到此错误。我遵循了在网上找到的建议,并在$.ajaxSetupX-CSRF-TOKEN后面加上了字词,但还是没有运气。

  

“例外”:   “ Symfony \ Component \ HttpKernel \ Exception \ MethodNotAllowedHttpException”

web.php

Route::get('my-controller/mypostfunction', 'MyController@mypostfunction');

MyController.php

public function mypostfunction()
{
    return "Hello poster!";
}

app.js

$( document ).ready(function()
{
          $.ajaxSetup({
                headers: {
                    'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
                }
            });

          // This alerts the CSRF token correctly!
          alert( $('meta[name="csrf-token"]').attr('content') );

    $.post( "my-controller/mypostfunction", function( data ) {
      alert( "Data Loaded: " + data );
    });
});

2 个答案:

答案 0 :(得分:2)

在您的web.php文件中,您设置了get方法,因此只需将get更改为post方法类型

Route::post('my-controller/mypostfunction', 'MyController@mypostfunction');

答案 1 :(得分:1)

在您的 web.php 中,将获取的路由更改为发布,如下所示:

Route::get('my-controller/mypostfunction', 'MyController@mypostfunction');

// into 

Route::post('my-controller/mypostfunction', 'MyController@mypostfunction');

我希望这是解决方案。