Laravel 5.5 AJAX Post Call上没有消息异常。第203行,Handler.php,419未知状态

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Laravel 5.5 AJAX Post Call上没有消息异常。第203行,Handler.php,419未知状态相关的知识,希望对你有一定的参考价值。

自从我开始在Windows 10上使用APACHE作为开发环境以来,我一直面临着这个问题。关于同一问题,有绝对的链接和帖子讨论,这些链接都没有解决这个问题。

我得到了“419未知状态”的请求以及其他一些跟踪细节:

"message": "",
"exception": "Symfony\Component\HttpKernel\Exception\HttpException",
"line": 203,

当我用laravel.log检查时,它说,

local.ERROR: The MAC is invalid.

答:为了清楚起见,我在blade / html页面中有CSRF令牌,我在AJAX调用中将其作为标题传递:

headers: { 'X-CSRF-TOKEN': $('meta[name="_token"]').attr('content') },

B.我试过 - 清除浏览器cookie然后清除工匠

php artisan cache:clear
php artisan config:clear
php artisan view:clear
php artisan route:clear

C.我试图使用composer dump-autoload清理然后清除缓存

composer clear-cache
composer dump-autoload

对于专家的细读,这就是我的ajax调用/ Laravel控制器/路由代码的样子:

AJAX电话:

在下面的代码中,param_cust_unique_id作为参数传递给调用此ajax调用的函数。

$.ajax({
        type: 'post',
        headers: {
                'X-CSRF-TOKEN': $('meta[name="_token"]').attr('content')
        },
        url: '/getBalanceForCustomer',
        data: { "cust_unique_id" : param_cust_unique_id },
        success: function (response) {
             console.log(response);
        },
        error: function (response) {
                console.log(response);
        }
    }); 

Laravel路线:

Route::post('getBalanceForCustomer', 'CustomersController@getBalanceForCustomer');

Laravel控制器方法:

public function getBalanceForCustomer(Request $request) {

//Balance calculation logic, bit longer hence cutting-it short
return $balance;
} 

我正在使用开发环境:Visual Studio Code,mysql Workbench,Chrome Browser。

Tech Stack是:Jquery,AngularJS,Laravel 5.5,MariaDB

在这方面的任何帮助都非常感谢。

答案

在标题中使用此元标记

<input type="hidden" name="_token" id="token" value="{{ csrf_token() }}">

然后是ajax调用:

let formData = $('form').serializeArray();
$.ajax({
      url: "/",
      type: "POST",
      data: {formData, "_token": $('#token').val()},
      cache: false,
      datatype: 'JSON',
      processData: false,
      success: function (response) {
           console.log(response);
         },
         error: function (response) {
           console.log(response);
         }
  });

以上是关于Laravel 5.5 AJAX Post Call上没有消息异常。第203行,Handler.php,419未知状态的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 5.5 AJAX Post Call上没有消息异常。第203行,Handler.php,419未知状态

在 Laravel 5.5 中使用 AJAX

Laravel 5.5 Ajax 注销没有重定向

Laravel 5.5 Axios POST 导致 419 错误

多次尝试后,Laravel 5.5 在 ajax 调用中不断收到 419 发布错误

使用 API 蓝图通过 post 请求将图像提交到 Laravel 5.5