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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Laravel中的Javascript问题与csrf一起形成相关的知识,希望对你有一定的参考价值。

在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);

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

答案

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

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

2.设置ajax请求:

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

以上是关于Laravel中的Javascript问题与csrf一起形成的主要内容,如果未能解决你的问题,请参考以下文章

我的javascript文件中的Laravel 4刀片语法

laravel 中的 Javascript 函数未定义

使用 Javascript 在 Laravel 刀片视图中显示数组中的动态数据时出现问题

使用 Laravel 过滤所有属性中的值

如何将数据循环到laravel刀片javascript中的数组中?

通过laravel中的javascript函数在路由中传递两个变量