0
我有一个aspx页面,我使用XDomainRequest对象来填充两个使用AJAX响应返回的html的div。
我已经使用jQuery来检索到的名单得到的div并执行“每一个()”XDomainRequest对象缓存/异步调用问题
var divs = $("div");
divs.each(function(index) {
if (window.XDomainRequest) {
xdr = new XDomainRequest();
if (xdr) {
xdr.onload = function() {
alert("XDR Response - " + xdr.responseText);
var currentDivID = divs[index].attributes["id"].value;
var selectedDiv = $("div[id='" + currentDivID + "']");
if (xdr.responseText == '') selectedDiv.attr("style", "display:none;");
else selectedDiv.append(xdr.responseText);
};
xdr.open("GET", xdrUrl);
try {
xdr.send();
} catch (e) {
alert(e);
}
} else {
alert('Create XDR failed.');
}
} else {
alert('XDR not found on window object .');
}
}
现在,什么情况是,我必须有不同的ID和此代码运行时页面上的两个div上“$。就绪(函数(){})”,这两个请求被异步发送到服务器和处理
结果是
1.有时在onload获得在两个DIV结果第二个div的响应。
2. IE只向服务器发送一个请求(我使用fiddler来查看发送给服务器的请求)。
任何人都可以指导我什么是错的代码?据我所知XDR不支持同步调用,异步调用给我错误的结果。针对此问题的任何解决方法/提示。通过自己解决,当我指出了我的代码:(错误