如何使用我的Laravel应用程序的ajax请求(GET或POST)自动添加csrf令牌,而无需手动将其添加到每个请求中。
我的ajax请求
$.ajax({
type:'post',
url: "/email/unique",
data: { "_token": "{{ csrf_token() }}", "email": email }
success: function(data) {
console.log(data);
}
});
发布于 2018-12-08 09:12:35
在Laravel中,默认情况下,csrf元标记的值与Axios库一起注册。但是,如果您是,不使用此库,则需要为应用程序手动配置此行为。
为此,请将令牌存储在HTML元标记中。
<meta name="csrf-token" content="{{ csrf_token() }}">
然后,一旦创建了元标记,就可以指示jQuery库将令牌自动添加到所有请求头中。
为此,将代码添加到resources/js/bootstrap.js
文件中,用于Laravel 5.7
和resources/assets/js/bootstrap.js
用于Laravel 5.6
及更低版本。
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
不使用csrf令牌的Ajax,因为它将自动添加
$.ajax({
type:'post',
url: "/email/unique",
data: { "email": email }
success: function(data) {
console.log(data);
}
});
https://stackoverflow.com/questions/53684928
复制相似问题