firefox下XMLHttpRequest重用時nsIXMLHttpRequest.send發生錯誤的解決方案
最近在寫一個ajax無重新整理聊天的程式,在除錯程式時,發現firefox下出現了一個嚴重錯誤~~,如下
Error: uncaught exception: [Exception... "Component returned failure code: 0xc1f30001
(NS_ERROR_NOT_INITIALIZED) [nsIXMLHttpRequest.send]" nsresult: "0xc1f30001 (NS_ERROR_NOT_INITIALIZED)"
location: "JS frame :: [URL censored] :: zendGegevens :: line 68" data: no]
上網找了很多資料,有的說是ajax重用的為問題【確實重用了ajax物件,使用的是一個陣列儲存ajax物件,以便重用】,但是一直沒有找到解決方案。。。。
我在聊天裡面啟動了兩個計時器用來獲取聊天資訊和線上使用者列表,時間間隔都是一樣的,這樣有可能兩個計時器同時進入獲取xhr物件的程式碼塊中,導致同一個物件被使用。【js沒有加鎖的程式碼,如lock和unlock】,在firefox下就出現了上訴的問題了,ie下是沒有問題的。
今天又去google了下,發現了一篇e文,出現的錯誤和我的出現的一樣,於是照著葫蘆畫瓢,更正以後沒在出現上述的問題了,哈哈哈哈~~~happy。
If you take an xmlhttp object that's busy sending and receiving and tell it to send another request, it simply stops doing whatever it does and sends out the new request,Except in Mozilla。
上面大概意思是當一個xhr物件仍然傳送和接受資料的時候,你再使用此物件發出請求,此xhr物件停止任何動作不管它正在幹什麼或者傳送新請求。然後在Mozilla瀏覽器裡面就出現上面的錯誤了。【e文不太行,不知道是不是這個意思??!~~~~~】
解決方案
if (isBusy)
{
xmlhttp.onreadystatechange = function () {}
xmlhttp.abort();
}
Don't ask me why this is necessary, but it works.
下面這句就是不要問我為什麼這樣做,但是這個確實起作用了。
最後發我更改後的ajax應用程式池,下載點這裡
本文來自Web開發網,轉載請標明出處http://www.w3dev.cn/article/20090707/firefox-XMLHttpRequest-Componen-returned-failure-code-0xc1f30001.aspx
相關文章
- photoshop匯出png發生未知錯誤的解決方案,ps匯出發生未知錯誤怎麼解決
- IDEA發生“Error:java: 錯誤: 不支援發行版本 5”錯誤的解決方案IdeaErrorJava
- Linux下錯誤解決方案Linux
- ant構建時出現錯誤解決方案
- 開發常見錯誤及解決方案
- JNI命令列下編譯錯誤解決方案命令列編譯
- steam磁碟寫入錯誤怎麼解決 steam安裝時發生錯誤怎麼辦
- 工程make時出現"時鐘錯誤的問題"的解決方案
- latex 錯誤以及解決方案
- 建立cache group 時遇到 錯誤5120 時候的解決方案
- 訪問 HTTPS 網站時的 SSL 錯誤解決方案HTTP網站
- Windows8.1下撥號651錯誤的解決方案教程Windows
- 修正FIREFOX下批量上傳的錯誤Firefox
- mysql 發生系統錯誤1067的解決方法MySql
- 解決MySQL server has gone away錯誤的解決方案MySqlServerGo
- java:錯誤:不支援發行版本1.4解決方案Java
- linux下ping: unknown host錯誤解決方案Linux
- 當前頁面指令碼發生錯誤的解決辦法指令碼
- Ubuntu Cannot allocate memory 錯誤解決方案Ubuntu
- ORA-28000錯誤解決方案
- ORA-07445: 錯誤解決方案
- ORA-00054錯誤解決方案(摘)
- Ajax 跨域請求 Access to XMLHttpRequest 解決方案跨域XMLHTTP
- photoshop 2021在m1 mac上匯出png發生未知錯誤的解決方案Mac
- 9種常見的Android開發錯誤及解決方案Android
- Windows下使用python庫 curses遇到錯誤訊息的解決方案WindowsPython
- Windows下make clean指令錯誤[錯誤碼2](系統找不到指定檔案)的解決方案Windows
- ORA-00845的錯誤與解決方案
- SVN 遇到的一些錯誤解決方案
- PbootCMS中常見的錯誤提示及其解決方案boot
- FireFox中使用ExtJs日期控制元件錯誤的解決方法FirefoxJS控制元件
- MySQL建立二進位制日誌產生1067錯誤的解決方案MySql
- Hadoop常見錯誤及解決方案Hadoop
- HTTP 錯誤 500.21 - Internal Server Error 解決方案HTTPServerError
- MySQL插入資料1366錯誤解決方案MySql
- MySQL錯誤Incorrect file format解決方案薦MySqlORM
- Java java.lang.ExceptionInInitializerError 錯誤解決方案JavaExceptionError
- DataGuard ORA-10458錯誤解決方案