[英]jQuery.ajax only works once
我的chrome擴展程序的一部分進行了測試,以查看用戶是否已連接到互聯網。 它可以正常運行一次,但是運行后,$ .ajax === undefined,我不知道為什么。 我看不到任何可以修改$ .ajax的設置器
var testInternet = function(callback) {
"use strict";
var testURLs, doCallback, i, failCount;
if (! callback) {
callback = function(){};
}
doCallback = true;
failCount = 0;
testURLs = [
"http://clients5.google.com/pagead/drt/dn/dn.js"
];
for (i= 0; i < testURLs.length; i++) {
testConnection(testURLs[i], function(success){
if (success && doCallback) {
doCallback = false;
callback(true);
return;
} else {
failCount += 1;
if (failCount === testURLs.length) {
callback(false);
return;
}
}
});
}
}
var testConnection = function(url, callback) {
"use strict";
$.ajax({
url: url,
timeout: 10000,
cache: false,
success: function(data) {
callback(true);
return;
},
error: function(data) {,
callback(false);
return;
}
});
}
看起來是因為您正在獲取.js文件,jQuery會自動將dataType
默認設置為script
,這將導致jQuery評估正在加載的腳本。 指定dataType: 'text'
應防止該不良行為。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.