“此路由不支持GET方法。受支持的方法:POST。”

时间:2019-08-10 09:31:08

标签: jquery ajax laravel laravel-5

我试图解决此问题“此路由不支持GET方法。受支持的方法:POST。”

    var get_and_read = function () {
        message = messages.shift();
        //console.log(message.id);
        var sender = {id: message.id, _token: '{{csrf_token()}}'};
        $.ajax({
            type: 'POST',
            url: "{{ route('alertbox.post', [ 'phone_number' => $phone_number ]) }}",
            data: sender
        });
        return message;
    }

在我的web.php中

Route::post('/widgets/alertbox/read', 'AlertboxController@postMessage')->name('alertbox.post');

在我的控制器中

public function postMessage(Request $request) {

    $message = DB::table('message')->update('status', 'success')->where('phone_number', $request->id)->first();

    if (!$message)
        abort(403);
}

调用get_and_read函数

500 Internal server error

2 个答案:

答案 0 :(得分:0)

您已将“ phone_number”添加为参数,因此需要在路由中添加它 示例:

Route::post('/widgets/alertbox/read/{phone}', 'AlertboxController@postMessage')->name('alertbox.post');

我希望这会对您有所帮助。

答案 1 :(得分:0)

这是一个重复的问题。

向每个页面(或主版面)添加一个元标记:

<meta name="csrf-token" content="{{ csrf_token() }}">

并添加到您的javascript文件(或页面中的部分):

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

看到相同的问题 ajax post in laravel 5 return error 500 (Internal Server Error)