嗨,我试图用访问一个资源多次使用不同的参数的Javascript:XHR不处理多个异步请求
在这种情况下,要求
var domains = [
'host1',
'host2'
];
var requests = new Array();
for (i in domains)
{
requests[i]=new request(domains[i]);
}
function request(site)
{
var url = 'get_remote_status.php?host='+site;
var queues = {};
http_request = new XMLHttpRequest();
http_request.open("GET", url, true, 'username', 'password');
http_request.onreadystatechange = function() {
var done = 4, ok = 200;
if (http_request.readyState == done && http_request.status == ok) {
queues = JSON.parse(http_request.responseText);
var queuesDiv = document.getElementById('queues');
print_queues(queues, queuesDiv, site);
}
};
http_request.send(null);
}
然而,正在请求的只有一个由代码lambda处理。 Chromium报告这两个请求都已收到并可在资源窗格中查看。
此外,如果我使请求同步,那么它工作正常。然而,这是不被发布代码接受的,因为请求可能超时。
感谢
谢谢,你能告诉我我不是一个JS家伙。 – 111111
+1。 [JSLint](http://jslint.com)会选择这个。 – Quentin
宁愿总是使用“严格使用”; –