Caching XDomainRequest对象缓存/异步调用问题
我有一个aspx页面,在该页面上我使用XDomainRequest对象用AJAX响应返回的html填充两个div。Caching XDomainRequest对象缓存/异步调用问题,caching,cross-domain,xdomainrequest,xdr,Caching,Cross Domain,Xdomainrequest,Xdr,我有一个aspx页面,在该页面上我使用XDomainRequest对象用AJAX响应返回的html填充两个div。 我使用Jquery获取div并对检索到的列表执行“each()” var divs = $("div"); divs.each(function(index) { if (window.XDomainRequest) { xdr = new XDomainRequest(); if (xdr) { xdr.onload
我使用Jquery获取div并对检索到的列表执行“each()”
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,当此代码在“$.ready(function(){})”上运行时,这两个请求都会异步发送到服务器并进行处理
结果是1.有时,onload会在两个div结果中获得第二个div的响应。
2.IE只向服务器发送一个请求(我使用fiddler查看哪些请求被发送到服务器)
谁能告诉我密码有什么问题吗?据我所知,XDR不支持同步调用,而异步调用给了我错误的结果。此问题的任何解决方法/提示 当我指出代码中的错误时,我自己解决了这个问题:( 应该是
var xdr = new XDomainRequest();
对于第2点,我在回复中添加了“缓存控制:无缓存”标题,它解决了问题。当我指出代码中的错误时,我自己解决了问题:( 应该是
var xdr = new XDomainRequest();
对于第2点,我在响应中添加了“Cache-Control:no-Cache”头,解决了这个问题