微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – Laravel 5.5 ajax call 419(未知状态)

我做了一个ajax调用,但我一直收到这个错误

419 (unkNown status)

不知道是什么导致我在其他帖子上看到它必须用csrf令牌做一些事情,但我没有形式所以我不知道如何解决这个问题.

我的电话:

$('.company-selector li > a').click(function(e) {
     e.preventDefault();

     var companyId = $(this).data("company-id");


      $.ajax({
          headers: {
          'X-CSRF-TOKEN': $('Meta[name="csrf-token"]').attr('content')
          },
          url: '/fetch-company/' + companyId,
          dataType : 'json',
          type: 'POST',
          data: {},
          contentType: false,
          processData: false,
          success:function(response) {
               console.log(response);
          }
     });
  });

我的路线:

Route::post('fetch-company/{companyId}', 'HomeController@fetchCompany');

我的控制器方法

/**
 * Fetches a company
 *
 * @param $companyId
 *
 * @return array
 */
public function fetchCompany($companyId)
{
    $company = Company::where('id', $companyId)->first();

    return response()->json($company);
}

最终目标是在html元素中显示响应中的内容.

解决方法:

在头部使用:

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

并在ajax中获取csrf标记

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

请参阅Laravel文档csrf_token

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐