Pra*_*eek 2 javascript ajax jquery laravel csrf-token
如何在我的 Laravel 应用程序的 ajax 请求(GET 或 POST)中自动添加 csrf 令牌,而无需手动将其添加到每个请求中。
我的ajax请求
$.ajax({
type:'post',
url: "/email/unique",
data: { "_token": "{{ csrf_token() }}", "email": email }
success: function(data) {
console.log(data);
}
});
Run Code Online (Sandbox Code Playgroud)
在 Laravel 中,csrf-token 元标记的值默认注册到 Axios HTTP 库中。但是如果您没有使用这个库,您将需要为您的应用程序手动配置此行为。
为此,请将令牌存储在 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')
}
});
Run Code Online (Sandbox Code Playgroud)
没有 csrf 令牌的 Ajax,因为它会自动添加
$.ajax({
type:'post',
url: "/email/unique",
data: { "email": email }
success: function(data) {
console.log(data);
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4677 次 |
| 最近记录: |