[英]Ajax Response 200 ok, but shows failed to load response data
我正在對后端 rest api 進行 ajax 調用,api 返回正常。 如果我 console.log() 成功數據和錯誤數據,它會在控制台上提供“資源登錄”,200 ok,但是當我在該身份驗證/登錄路由的網絡選項卡響應中查看它時,它顯示“加載失敗響應數據”。 這種情況有時會發生,但並非總是如此。 為什么? 這是我的 ajax 調用的片段。
ajax
.post('auth/login', {
data: {
oauth_provider: 'google',
oauth_token: (isToken ? authResult : authResult.access_token)
},
cache: false
})
.done(function(data) {
console.log(data); // Resource Logged in
})
.error(function(err){
console.log(err);
})
這是我的 ajax.js 的內容
define(
[
'jquery',
'util',
],
function ($, util) {
var ajax = {
request: function (type, url, options) {
if (url.indexOf('http') === -1) {
url = util.url(url);
}
if (options === undefined) {
options = {};
}
options.type = type
options.url = url;
return $.ajax(options);
},
get: function (url, options) {
return ajax.request('GET', url, options);
},
post: function (url, options) {
return ajax.request('POST', url, options);
},
put: function (url, options) {
return ajax.request('PUT', url, options);
},
delete: function (url, options) {
return ajax.request('DELETE', url, options);
}
};
return ajax;
}
)
顯然,事實證明清除 cookie 存在一些問題。 清除它們后,系統運行良好。 不確定需要幫助!
這是以下內容的重復: 即使返回的內容具有標題 Content-Type:text/html;Chrome 開發工具也無法顯示響應; 字符集=UTF-8
對於將來來到這里的任何人,這是您的答案: https : //stackoverflow.com/a/38925237/1235072
更多信息: https : //bugs.chromium.org/p/chromium/issues/detail?id=141129
我確認這一點。 由於 Chrome 版本 45,我看到我的一些 Ajax 請求將 200 作為狀態代碼,但在顯示“無法加載內容”內容時出現問題。
我的 Ajax 請求在 for 循環內,再次請求失敗的內容使內容加載正常。
似乎解決了 for 循環內部在請求和另一個之間使用setTimeout
問題。
“空緩存和硬重新加載”對我有用。
當我在我的 php ajax 頁面中將顯示錯誤更改為 false 時,它已修復,這看起來也是如此。
從ini_set('display_errors', 1);
到ini_set('display_errors', 0);
我正在使用 Javascript,如果我采用這種方法,它將需要更長的時間並且不會從網絡選項卡中獲取任何數據:
xhr.onreadystatechange=function(){
if(xhr.readyState==4){...}}
由於您正在努力獲取 onreadystatechange 和 readyState,這需要時間並且瀏覽器會在您獲取信息之前將其刪除。 因此,通過使用它,您將獲得文本響應:
xhr.addEventListener("load", (function(){ console.log(this.responseText);}));
或者
xhr.onload = function(){ console.log(this.responseText);};
由於回發,這發生在我的項目中。 當我解決回發問題時,錯誤消失了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.