我正在通過一個IE插件注入到每個頁面上的iframe發出一個ajax請求。我使用IE的cross domain request,因爲jQuery的ajax在IE中失敗。這對IE8的75%時間工作& 9.其他25%,xdr.onload
甚至沒有火災。來自IE的ajax(XDR)響應不一致
服務器php正在做它的工作......當onload
確實不會觸發時,日誌看起來完全相同。而且,xdr.onerror
也不會觸發。
任何想法?
thisURL = "http://example.com/getmsg.php?cmd=getMessage&iid=ddeb2c1228&uurl=http%3A%2F%2Fwww.cnn.com%2F&t=" + Math.random();
// Use Microsoft XDR
var xdr = new XDomainRequest();
xdr.open("GET", thisURL);
xdr.onload = function() {
// this is sometimes called, sometimes not in IE
alert('INCONSISTENT ALERT');
callback(xdr.responseText);
};
xdr.send();
只是一個隨機猜測:你可以嘗試添加一個無用的參數到URL的末尾,以確保瀏覽器繞過它的緩存......如果它發生在我身上,我會自己嘗試,但是你可能不會有興趣浪費時間完成猜測:-) – Pointy 2011-03-09 18:17:15
...或者只是使用'POST',它根本不會被緩存。另外,我會綁定'xdr.onerror ='來查看是否會觸發。不幸的是,XDR錯誤沒有錯誤描述。另外,請確保''Access-Control-Allow-Origin'標頭設置爲'*' – jAndy 2011-03-09 18:19:26
@Point,t實際上是math.random ...我編輯了我的答案。這是一個很好的猜測。這不會被緩存,雖然 – Kyle 2011-03-09 18:35:56