如何在 Laravel 中使用 jQuery ajax 请求自动添加 X-CSRF-TOKEN
How to automatically add X-CSRF-TOKEN with jQuery ajax request in Laravel
如何在我的 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 库自动将令牌添加到所有请求 headers。
为此,将 Laravel 5.7
和 Laravel 5.6
及以下版本的代码添加到 resources/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);
}
});
如何在我的 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 库自动将令牌添加到所有请求 headers。
为此,将 Laravel 5.7
和 Laravel 5.6
及以下版本的代码添加到 resources/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);
}
});