gpt4 book ai didi

javascript - 来自 IE 的不一致的 ajax (XDR) 响应

转载 作者:数据小太阳 更新时间:2023-10-29 04:56:10 27 4
gpt4 key购买 nike

我从 iframe 发出 ajax 请求,该 iframe 通过 IE 插件注入(inject)到每个页面。我正在使用 IE 的 cross domain request因为 jQuery 的 ajax 对 IE 无效。这在 IE8 和 9 上有 75% 的时间有效。另外 25%,xdr.onload 甚至不会触发。

服务器 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();

最佳答案

我遇到了一个非常相似的问题:XDomainRequests 仅在某些时候失败,尽管 Fiddler 显示所有请求和响应 header 都完全按照我的预期发送。我已经在这些 XDR 对象上定义了每个事件处理程序和超时属性,但没有调用任何处理程序。 F12 开发人员工具显示请求已中止。 GET 和 POST 都可以中止,发送到多个不同的域,但第一个请求总是成功。

然后我尝试将对 xdr.send 的调用置于超时状态,如下所示:

setTimeout(function () {
xdr.send();
}, 0);

它奏效了。我不知道为什么,但也许这会对其他人有所帮助。

关于javascript - 来自 IE 的不一致的 ajax (XDR) 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5250256/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com