服务器 laravel 中的 csrf-token 不匹配错误
csrf-token mismatch error in laravel on server
我正在使用此代码通过 ajax 在 laravel
中提交数据
$('#submit').submit(function (e) {
e.preventDefault();
let formData = new FormData(this);
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
$.ajax({
xhr: function() {
var xhr = new window.XMLHttpRequest();
xhr.upload.addEventListener("progress", function(evt) {
if (evt.lengthComputable) {
var percentComplete = evt.loaded / evt.total;
percentComplete = parseInt(percentComplete * 100);
if (percentComplete === 100) {
}
}
}, false);
return xhr;
},
url: $(this).attr('action'),
type: "POST",
data: formData,
dataType:'JSON',
contentType:false,
cache: false,
processData: false,
但是当我在实时服务器上上传我的代码时得到 csrf 令牌不匹配。
非常感谢任何解决方案谢谢
我看到您正在从 HTML 页面元标记中获取令牌,请确保您的 HTML 页面在两次访问之间没有被 intermediate/browser 缓存(尝试使用两种不同的方式打开浏览器并检查令牌,使用 f5 刷新并强制重新加载)。
另一个常见问题是同时加载多个 HTML 页面(框架?可能是 returns 您的默认页面的 404 文件,刷新 session 的令牌)。这很难找到,请检查浏览器开发工具的网络选项卡并检查每个响应。
我不认为是这种情况,但有时情况会有所不同 X-CSRF-Token
如果代理正在“清理非白名单 headers”。
我正在使用此代码通过 ajax 在 laravel
中提交数据$('#submit').submit(function (e) {
e.preventDefault();
let formData = new FormData(this);
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
$.ajax({
xhr: function() {
var xhr = new window.XMLHttpRequest();
xhr.upload.addEventListener("progress", function(evt) {
if (evt.lengthComputable) {
var percentComplete = evt.loaded / evt.total;
percentComplete = parseInt(percentComplete * 100);
if (percentComplete === 100) {
}
}
}, false);
return xhr;
},
url: $(this).attr('action'),
type: "POST",
data: formData,
dataType:'JSON',
contentType:false,
cache: false,
processData: false,
但是当我在实时服务器上上传我的代码时得到 csrf 令牌不匹配。
非常感谢任何解决方案谢谢
我看到您正在从 HTML 页面元标记中获取令牌,请确保您的 HTML 页面在两次访问之间没有被 intermediate/browser 缓存(尝试使用两种不同的方式打开浏览器并检查令牌,使用 f5 刷新并强制重新加载)。
另一个常见问题是同时加载多个 HTML 页面(框架?可能是 returns 您的默认页面的 404 文件,刷新 session 的令牌)。这很难找到,请检查浏览器开发工具的网络选项卡并检查每个响应。
我不认为是这种情况,但有时情况会有所不同 X-CSRF-Token
如果代理正在“清理非白名单 headers”。