Javascript 还记得AJAX回调中循环中的哪个键吗
我有这个脚本ping 4台服务器。它包含一个循环,该循环发送4个请求并设置回调Javascript 还记得AJAX回调中循环中的哪个键吗,javascript,jquery,ajax,callback,Javascript,Jquery,Ajax,Callback,我有这个脚本ping 4台服务器。它包含一个循环,该循环发送4个请求并设置回调 var servers = new Array( { css: 'vanilla', ip: 'play.example.com', port: '25565' }, { css: 'uhc', ip: 'uhc.example.com', port: '25565' }, {
var servers = new Array(
{
css: 'vanilla',
ip: 'play.example.com',
port: '25565'
},
{
css: 'uhc',
ip: 'uhc.example.com',
port: '25565'
},
{
css: 'ftb',
ip: 'ftb.example.com',
port: '25565'
},
{
css: 'ts',
ip: 'ts.example.com',
port: '8765'
}
);
for(var i = 0; i < servers.length; i++) {
$.get('status.php', {
ip: servers[i]['ip'],
port: servers[i]['port']
}, function(data) {
var server = servers[i];
data = $.parseJSON(data);
if(data.status == 'online') {
$('.'+server.css+' .status').addClass('online').text('Online');
} else {
$('.'+server.css+' .status').addClass('offline').text('Offline');
$('.'+server.css+' .text-field').attr('disabled', true);
}
});
var服务器=新阵列(
{
css:‘香草’,
ip:'play.example.com',
端口:'25565'
},
{
css:‘uhc’,
ip:'uhc.example.com',
端口:'25565'
},
{
css:“ftb”,
ip:'ftb.example.com',
端口:'25565'
},
{
css:'ts',
ip:'ts.example.com',
端口:'8765'
}
);
对于(var i=0;i
我的问题是,当启动回调时,
server
变量已经更改,循环中的i
也已经更改。如何将索引解析为回调函数?最好的方法是将该值作为参数传递给status.php,并将其返回回调。这是知道谁是回调函数的唯一可靠方法用于。重复:。由于您使用jQuery,解决此问题的一个简单方法是只使用$。每个都已经为您创建了一个新的闭包。