如何自动添加我的Laravel应用程序的ajax请求(GET或POST)的csrf令牌,而无需手动添加到每个请求.
我的ajax请求
$.ajax({
type:'post',
url: "/email/unique",
data: { "_token": "{{ csrf_token() }}", "email": email }
success: function(data) {
console.log(data);
}
});
解决方法:
在Laravel中,csrf-token元标记的值默认注册为Axios HTTP库.但是,如果您不使用此库,则需要为应用程序手动配置此行为.
为此,请将令牌存储在HTML元标记中
<Meta name="csrf-token" content="{{ csrf_token() }}">
然后,一旦创建了元标记,就可以指示jQuery库自动将标记添加到所有请求标头中.
为此,将代码添加到Laravel 5.7的resources / js / bootstrap.js文件和Laravel 5.6及更低版本的resources / assets / js / bootstrap.js.
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('Meta[name="csrf-token"]').attr('content')
}
});
Ajax没有csrf令牌,因为它会自动添加
$.ajax({
type:'post',
url: "/email/unique",
data: { "email": email }
success: function(data) {
console.log(data);
}
});
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。