【发布时间】:2020-09-16 22:53:16
【问题描述】:
我想在 ajax 调用所有 URL 后重定向到最快的 URL,但是当我提醒该值时,我得到 undefined:
var servers = ["url1", "url2", "url3"];
for (var i = 0; i < servers.length; i++) {
$.ajax({
type: "GET",
url: servers[i],
data: {},
cache: false,
success: function(output) {
// window.location.href = servers[i]
alert(servers[i]);
}
});
}
【问题讨论】:
-
尝试
let i而不是var i(失败的原因是i最后一次增加了,这要归功于循环结束之前的i++,现在是3和servers[3]是undefined) -
@ChrisG 我测试过,它有效,请发布您的答案
-
实际上,this 在这种情况下是更准确的答案。
标签: javascript jquery ajax for-loop scope