我正在玩一些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