2009-06-03 56 views
5

我正在編寫一些舊的AJAX代碼,寫在jQuery之前黑暗的黑暗時代。奇怪的是,它一直工作很好,直到今天突然停止發射它的回調。這裏是基本的代碼:什麼可能導致XMLHttpRequest在Firefox中永遠不會改變狀態?

var xml = new XMLHttpRequest(); // only needs to support Firefox 
xml.open("GET", myRequestURL, true); 
xml.onreadystatechange = function() { alert ('test'); }; 
xml.send(null); 

檢查Firebug控制檯,該請求被無後顧之憂發送,它接收來自請求URL的正確XML,但onreadystatechange功能不工作。系統中沒有javascript錯誤或其他任何奇怪的事情發生。

我希望我可以重寫使用jQuery的一切,但我沒有時間,現在。什麼可能導致這個問題?


進一步的更新 - 我已經能夠測試不同的瀏覽器(FFX 3.0),我的代碼,並在那裏工作,所以它必須與我的瀏覽器有問題。我在Vista上運行Firefox 3.5b4,現在我嘗試了所有我的插件,但都沒有運氣。它還真纏着我,因爲我是在這個網站的工作昨日(具有相同的瀏覽器設置),並沒有問題,在所有...

其實我只是把我的附加組件窗口回頭一看,看到了螢火蟲仍然啓用。如果我禁用Firebug,它可以很好地工作。如果我啓用它,它會被破壞。 Firebug的版本1.40.a31

+0

您正在使用什麼版本的Firefox :-)?也許這是一個Firefox錯誤?我沒有像在Firebug那樣得到相同的轉儲。 – 2009-06-03 03:18:03

+0

看我的編輯。這是一個在Firefox 3.5beta4中的錯誤,似乎 – 2009-06-03 03:48:05

回答

4

是URL格式不正確? 你有沒有嘗試把整個事情放在試試看,並提醒錯誤(如果有的話)

它是否在授權檢查上失敗? 有問題的網址需要http-auth嗎? (雖然應該有在這種情況下的狀態變化,我承認)

編輯:

我有一個非常有趣的想法在這裏。你使用的是Firefox 3.5 beta4嗎?我開發了基於瀏覽器的遊戲的Firefox擴展,並且最近發現了一些奇怪的錯誤。用我的擴展或螢火蟲觀察頁面發出的ajax請求,創建它們的腳本永遠不會被回調。請求會被正確地觀察和螢火蟲都和我的分機(我所觀察到什麼發送和接收)進行處理......但是頁面本身將永不請求再次聽到 - 像它已經消失在一個黑洞。

嘗試關閉螢火(或至少關閉聽「網」該域),並再次測試

0

這似乎不大可能的onreadystatechange將停止工作。 「提醒」功能有可能被禁用或覆蓋了嗎?你可以用一些代碼替換警報,以便在頁面中進行可見的更改,並以這種方式檢查其功能嗎? (我知道,它的一個延伸,但它只是似乎很奇怪的onreadystatechange是行不通的!)

相關問題