2

我有一個用Javascript編寫的100%有效的Ajax模型,帶有幾個輸入,我使用的是Get或Post方法,與,發送到該頁面的什麼字符串和我自己的頁面上的什麼元素我可能會收到我的迴應時擺弄。 問題是,如果我將請求設置爲Asynchronous(因此Ajax),IE會在onreadystatechange事件中返回錯誤「完成此操作所需的數據不可用」,我所做的就是檢查readystate是否爲4並且狀態是200.這個錯誤不會出現在Firefox或Chrome中,因爲我會考慮Ajax是Asynchronous。Ajax在IE中異步 - 錯誤「完成此操作的數據尚不可用」

繼承人從Post方法

xmlhttp.open("POST", commPage, true); 
xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8"); 
xmlhttp.onreadystatechange = function() { 
    if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { 
     j = xmlhttp.responseText; 
     i.innerHTML = j; 
    } 
} 
xmlhttp.send(str); 

編輯一個片段:我要指出的是,在IE瀏覽器,我使用的ActiveX控件 - > MSXML2.XMLHTTP或Microsoft.XMLHTTP或任何返回true第一。

回答

1

豪姆

的onreadystatechange的功能,我有responseText的呼叫,檢查是否存在尚未之外,但是aparently你不能這樣做,如果不存在,所以我只是不得不重組一些thigs。所有這些都是好的,但,這是導致該問題

ajaxRequest(){ 
    [...] 
} 
if(xmlhttp.responseText){ 
    myFunc(); 
} 
-1

不知道,如果這是你的情況,但我剛剛與此錯誤掙扎了三個小時,直到我發現這個問題的腳本。 Web服務類沒有用ScriptService屬性修飾,它允許從客戶端腳本調用方法!我不會責怪IE瀏覽器,因爲IE只是嚴格處理錯誤,並報告其他瀏覽器忽略的內容。 IE很適合調試。希望這可以幫助。那麼......可能不是你,因爲你的帖子現在很老了。

0

一旦我有這個錯誤,我解決它配置超時!也許你可以嘗試同樣的事情!

乾杯

+0

你是如何配置超時的?你能更具體地請舉個例子嗎?謝謝 ! – liorafar 2013-03-20 12:14:28

相關問題