【问题标题】:"The GET method is not supported for this route. Supported methods: POST."“此路线不支持 GET 方法。支持的方法:POST。”
【发布时间】:2019-12-17 20:07:28
【问题描述】:

我试图解决这个问题“此路由不支持 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

【问题讨论】:

    标签: jquery ajax laravel laravel-5


    【解决方案1】:

    您已将“phone_number”添加为参数,因此您需要将其添加到您的路线中 示例:

    Route::post('/widgets/alertbox/read/{phone}', 'AlertboxController@postMessage')->name('alertbox.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 : sender, } });返回消息; }
    • 用这个替换你的ajax调用
    • 并从您的网址中删除此 [ 'phone_number' => $phone_number ] 并在“数据”中发送该参数。首先将 phone_number 存储在 jquery 变量中,然后将其添加到数据数组中
    • jquery.min.js:2 POST 127.0.0.1:8000/widgets/alertbox/read 419(未知状态)
    • 在您的主 layout.blade 文件中添加 csrf 令牌并将其添加到当前页面文档准备功能 $ .ajaxSetup({ headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') } });
    【解决方案2】:

    为每个页面(或主布局)添加元标记:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-09-04
      • 2021-06-11
      • 2019-08-28
      • 2021-04-11
      • 2019-08-31
      • 2021-05-05
      • 1970-01-01
      相关资源
      最近更新 更多