ajax 419 Laravel出错

时间:2018-06-19 07:25:46

标签: javascript html ajax laravel

你好我有一个419错误,即使我尝试在刀片语法url,普通javasript url,jason数据格式或使用url发送我的数据之间切换技术时仍然显示.Please Help 我还将X-CSRF纳入其中:

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

我的电话:

$.ajaxSetup({
    headers: { 'X-CSRF-Token' : $('meta[name=_token]').attr('content') }
});
$.ajax({
  url:'{{url("/HeatMapCoordinates")}}',
  data:{"finalPointArray" :finalPointsMap,
        "tourId":tourId
        },
  dataType: 'html',
  async:true,
  type:'post',
  processData: false,
  contentType: false,
  success:function(response){
    console.log('response');
  },
  error:function(e){
    console.log('error');
  }
});
}

我的路线:     路线::资源( '/ HeatMapCoordinates', 'HeatMapCoordinatesController'); 我的控制器:

    public function store(Request $request)
    {

        $this->validate($request, array(
            'finalPointArray' => 'required',
            'tourId' => 'required',
        ));

..... }

2 个答案:

答案 0 :(得分:1)

您尚未包含CSRF令牌。该字段称为csrf-token而不是_token,并且需要包含在""中才能成为有效的选择器。

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

答案 1 :(得分:0)

尝试在ajax中调用控制器路由时,不需要使用刀片语法。你可以简单地像这样调用网址

csrf

如果您在html页面中添加了'_token': $('input[name=_token]').val(),令牌,请尝试将其包含在您的ajax数据中

$.ajax({ url: '/HeatMapCoordinates', data:{ "_token": $('input[name=_token]').val(), "finalPointArray" :finalPointsMap, "tourId":tourId },

您的代码将如下所示

{{1}}