【问题标题】:"How to fix 'Ajax request getting a 419 unknown status" (solved)“如何修复 'Ajax 请求获得 419 未知状态”(已解决)
【发布时间】:2019-10-02 16:15:52
【问题描述】:

我正在使用 laravel 宅基地。我正在制作一款游戏,该游戏需要在其帐户上获得积分。我想确保在每次播放后,用户的积分都会通过 ajax 请求更新,但是对于这个 ajax 请求,如果我更改数据,我会收到相同的错误 PATCH http://gamesite.test/updateBalance/13 419 (unknown status),它会收到错误:The GET method is not supported for this route. Supported methods: PATCH.

我已经尝试更改 ajax 请求的方法,并且它正在其他页面上运行。

我提出的 ajax 请求如下:

$(oMain).on("save_score", function(evt,iMoney) {
    if(getParamValue('ctl-arcade') === "true"){
        parent.__ctlArcadeSaveScore({score:iMoney});
    }
    //...ADD YOUR CODE HERE EVENTUALLY
    $.ajaxSetup({
        headers: {
            'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
        }
    });
    $.ajax({
        url: 'updateBalance/'+{{ auth()->user()->id }},
        type: 'PATCH',
        data: {iMoney:iMoney, _method: "PATCH"},
        success: function(res) {
        }
    });
});

我预计它会更新用户积分,但收到错误:“PATCH http://gamesite.test/updateBalance/13 419 (unknown status)”

编辑: 路线:

Route::patch('/updateBalance/{id}', 'GamesController@updateBalance');

游戏控制器:

public function updateBalance(User $id) {
    $selecteduser = User::find($id)->first();
    $this->validate(request(), [
        'credit' => 'int'
    ]);
    $selecteduser->credit = request('iMoney');

    $selecteduser->save();
}

【问题讨论】:

    标签: javascript php ajax laravel-5


    【解决方案1】:

    找到答案,我需要添加 到刀片的头部。

    【讨论】:

      【解决方案2】:

      使用 HTTP 默认的 GET 方法,这工作正常。

      $.get (url, {iMoney:iMoney, _method: "PATCH"} , function(){
         //success
      })
      

      【讨论】:

      • 它不起作用,如果我这样使用它,如果我只使用.get而不是.ajax,它会给出错误get方法不允许,我会得到419错误。跨度>
      • 看看吧,我想你会找到解决办法的stackoverflow.com/questions/11461414/…
      猜你喜欢
      • 2021-05-15
      • 2018-07-18
      • 2019-01-30
      • 2020-05-11
      • 2019-07-16
      • 2018-05-26
      • 2021-06-11
      • 2019-07-21
      • 2019-08-05
      相关资源
      最近更新 更多