我正在使用此代碼通過 laravel 中的 ajax 提交資料
$('#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 令牌不匹配。


非常感謝任何解決方案謝謝
uj5u.com熱心網友回復:
我看到您正在從 HTML 頁面元標記獲取令牌,確保您的 HTML 頁面沒有被訪問之間的中間/瀏覽器快取(嘗試使用兩個不同的瀏覽器打開并檢查令牌,使用 f5 重繪 并強制重新加載)。
另一個常見問題是同時加載多個 HTML 頁面(框架?可能是回傳默認頁面的 404 檔案,重繪 會話的令牌)。這很難找到,檢查瀏覽器開發工具的網路選項卡并檢查每個回應。
我不認為是這種情況,但有時情況會有所不同,X-CSRF-Token如果代理正在“清理未列入白名單的標頭”。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/376341.html
上一篇:Laravel路由組和中間件
