【发布时间】:2011-03-16 10:11:33
【问题描述】:
我正在玩一些comet 和mxhr 技术。事实证明,Chrome (5) 确实触发了readystate 3,但responseText 总是empty在那里。
直到今天,我认为只有 InternetExplorers (
我错了吗?
有人可以确认Chrome 不完全支持ajax readystate 3 吗?
【问题讨论】:
标签: javascript jquery ajax mxhr
我正在玩一些comet 和mxhr 技术。事实证明,Chrome (5) 确实触发了readystate 3,但responseText 总是empty在那里。
直到今天,我认为只有 InternetExplorers (
我错了吗?
有人可以确认Chrome 不完全支持ajax readystate 3 吗?
【问题讨论】:
标签: javascript jquery ajax mxhr
在webkits 开发者论坛中进行了大量研究和阅读后,我终于可以在chrome / webkit / safari 中了解正在发生的事情以及如何防止这种情况发生。
一切都与连接类型有关。为了使chrome 在ready state 3 中“正确”工作(responseText 不为空),我们需要一个不受嗅探影响的内容类型。例如 Content-type: text/xml 工作正常。
webkit 上的另一件重要事情是,它在传输足够的字节之前不会渲染推送的数据。 “官方”表示treshhold 大约是 256 字节。因此,您至少必须将其作为填充发送。
无论如何,在我的测试中,我认为您需要在Chrome(5) 第一次触发 state3 ajax 事件之前发送更多信息。大约 1kb。
【讨论】: