ajax - Long Poll 和 IE 的 XDomainRequest 对象

标签 ajax internet-explorer chat xdomainrequest xdr

我正在尝试实现一个使用长轮询从远程(跨域)服务器获取消息的聊天应用程序。

有没有办法用 XDomainRequest 做到这一点?似乎我的连接总是在随机数秒/毫秒(通常大约 1-3 秒)后终止,而不是等待服务器响应。

IE 开发工具告诉我请求已“中止”,没有收到任何数据。

XDomainRequest 是不适合长轮询还是我在这里遗漏了什么?

最佳答案

也有这个问题,作为竞争条件,使用 jQuery iecors 库。尽管 Fiddler 显示 200 响应,但 IE 网络控制台将请求显示为“中止”。

经过几轮顽固的谷歌搜索后,我发现了这个链接,它建议填写所有回调处理程序。我怀疑 onProgress 只是被调用,并且失败,当请求被一个沉重的页面减慢时,导致我的比赛行为。

IE9 XDomainRequest issued requests may abort if all event handlers not specified

对于 jquery.ieco​​rs.js,除了一些变量名拼写错误之外,它还缺少 onprogress 处理程序。添加这一行似乎可以解决它。

xdr.onprogress = function () {};

关于ajax - Long Poll 和 IE 的 XDomainRequest 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7037627/

相关文章:

javascript - JQuery Ajax 错误 {"readyState":0 ,"responseText" :"" ,"status":0 ,"statusText" :"OK"}

javascript - AJAX 未捕获引用错误

internet-explorer - Box-Shadow 不显示 IE 9-10

android - 我如何使用 smack 客户端 ejabberd 从 mysql 数据库检索聊天记录

css - 更改 AJAX 聊天样式表

javascript - 迭代并读取 json 数据

javascript - 我无法访问 DOM

angularjs - IE11 覆盖内网环境下的 Bearer 授权 header

internet-explorer - 我可以在 Ubuntu 中使用 Watir Webdriver 运行 Internet Explorer 吗?

node.js - 聊天应用程序的结构和所需的技术