【发布时间】:2013-08-30 06:43:02
【问题描述】:
您好,我在页面顶部显示了货币对汇率。速率值通过 getJson 在循环中为每对拉入。在我的开发服务器上,al 很好,但在实时服务器上,循环在第 4 次有时会在第 5 次迭代后停止执行,并且控制台中没有错误。
var tapeQuotePairs = [
"EUR/USD",
"GBP/USD",
"AUD/USD",
"USD/CAD",
"USD/JPY",
"USD/CHF",
"USD/ZAR",
"XAU/USD",
"USD/BRL",
"BTC/USD"
];
$.each(tapeQuotePairs, function(i, item) {
var bc = item.split("/");
$.getJSON(quoteUrl, {
base: bc[0],
quote: bc[1]
})
.done(function(data) {
console.log(qi);
console.log(quoteUrl);
qi++;
if (qi == qCsize) {
qSeparator = "";
}else{
qSeparator = ":::";
}
$("#ticktape").append(bc[0] + bc[1] + data.rate.toFixed(4) + qSeparator);
})
.fail(function() {
$("#ticktape").append(bc[0] + bc[1] + "n/a");
});
});
【问题讨论】:
-
请求是否全部发送?
-
fail函数是否曾经被执行过? -
qi来自哪里? -
这很可能与同时触发的许多 ajax 请求有关。也许您的服务器超载了?
-
@jwatts1980 否
fail从不执行。它只是在大约 4 次左右的循环后停止,没有错误。
标签: javascript jquery getjson each