我正在玩一些comet
和mxhr
技术。事实证明,Chrome (5)
实际上确实触发了readystate 3
,但responseText
总是空那里。Ajax readystate 3(Chrome/IE)
直到今天我虽然只有InternetExplorers
(< 8)会显示该行为。
我错了吗?
有人可以确认Chrome
不完全支持ajax readystate 3
?
我正在玩一些comet
和mxhr
技术。事实证明,Chrome (5)
实际上确实触发了readystate 3
,但responseText
总是空那里。Ajax readystate 3(Chrome/IE)
直到今天我虽然只有InternetExplorers
(< 8)会显示该行为。
我错了吗?
有人可以确认Chrome
不完全支持ajax readystate 3
?
在webkits
开发者论坛上做了大量的研究和阅读之后,我终于可以知道发生了什么以及如何防止在chrome/webkit/safari
。
这都是关于连接类型。为了使chrome
在ready state 3
中“正确地”工作(responseText不为空),我们需要一种不受嗅探的内容类型。例如一个Content-type:text/xml工作正常。
webkit
上的另一件重要的事情是,它不会呈现推送的数据,直到有足够的字节传输。 treshhold
约为256字节的“官方”。所以你至少必须把它作为填充。
无论如何,在我的测试中,我认为在Chrome(5)
第一次触发state3 ajax事件之前,您需要发送更多信息。大约1kb。
天才!我花了一段时间试图弄清楚这一点。我不知道为什么chrome不能在text/html上工作,但是它可以很好地处理文本/纯文本。去搞清楚。 – Jeff 2011-06-12 09:19:20