Laravel中的Javascript问题与csrf一起形成

问题描述 投票:0回答:1

在Laravel中与Javascript交互的表单 - 在我提交之前正常工作。

我收到了这个错误:

错误419会话已过期。

所以我在我的表单中添加@csrf并且Javascript不起作用。

我希望我的Javascript表单在Laravel中运行

我试试这个:

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

这在body标签的末尾(放入脚本标签):

var xhttp = new XMLHttpRequest();
xhttp.open("POST", url , true);
xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhttp.setRequestHeader("X-CSRF-TOKEN", document.head.querySelector("[name=csrf-token]").content );
xhttp.send(params);

还尝试其他事情。似乎没什么用。我真的很沮丧。

laravel
1个回答
0
投票

1.add标记带有令牌到刀片布局:

<meta name="_token" content="{{ csrf_token() }}">

2.设置ajax请求:

$(function() {
  $.ajaxSetup({
    headers: {
      'X-CSRF-Token': $('meta[name="_token"]').attr('content')
    }
  });
});
© www.soinside.com 2019 - 2024. All rights reserved.