2012-06-05 124 views
30

可能重複:
Ajax request problem: error 80020101無法完成,由於操作錯誤80020101. IE

我使用jQuery的1.64,這是我的代碼來複位定時器

var message="Logged in"; 
var myTimeout = setTimeout("timerDone()",1000 * 1440); 
function timerDone() 
{ 
    message="Logged out"; 
} 
function timerReset() 
{ 


    clearTimeout(myTimeout); 
    myTimeout = setTimeout("timerDone()", 1000 * 1440); 
} 

但它給了我一個錯誤,只在IE中,當我試圖做clearTimeout。 任何想法????

回答

34

我不知道爲什麼,但它爲我工作。如果您有類似評論,請點擊這裏

//Comment 

然後它給出了這個錯誤。要解決這個問題

/*Comment*/ 

沒有意義,但它對我有用。

+4

謝謝。同時刪除javascript選項數組中的任何尾隨逗號。 – Arunu

0

你什麼時候調用timerReset()?也許你在setTimeout()已經完成它的事情後試圖調用它時會得到這個錯誤?

敷在

if (window.myTimeout) { 
    clearTimeout(myTimeout); 
    myTimeout = setTimeout("timerDone()", 1000 * 1440); 
} 

編輯:其實,在進一步思考,因爲你沒有提到的jQuery(,但沒有任何實際的jQuery代碼在這裏...我不知道,如果你有這樣的嵌套一些jQuery的(如內$(document).ready(..這是變量的作用域的問題如果是的話,試試這個:

window.message="Logged in"; 
window.myTimeout = setTimeout("timerDone()",1000 * 1440); 
function timerDone() 
{ 
    window.message="Logged out"; 
} 
function timerReset() 
{ 


    clearTimeout(window.myTimeout); 
    window.myTimeout = setTimeout("timerDone()", 1000 * 1440); 
} 
+1

timerReset()被調用,每當用戶點擊上的東西基本上或每當加載頁面。 –

+0

它沒有工作。我不確定這是否是這個錯誤,即使IE正在指向它,因爲當它加載時它應該顯示手風琴選項卡,它不在IE中。此外,由於某種原因,IE瀏覽器指向jQuery1.6錯誤 –

5

包住整個代碼塊在此:

//<![CDATA[ 

//code here 

//]]> 

也確保指定腳本的類型是text/JavaScript的

嘗試,讓我知道如何去

2

如果您使用IE9,請關閉兼容性視圖。

+0

我可能已經嘗試過,但我無法再與你確認,因爲我們已經啓動了該網站。但它可以工作,雖然 –

+2

並要求你的用戶也這樣做? –

30

所有錯誤80020101意味着在評估JavaScript時出現某種錯誤。如果您通過Ajax加載該JavaScript,評估過程特別嚴格。

有時去除//將解決這一問題,但相反是不正確的......這個問題並不總是由//引起的。

查看Ajax調用返回的確切JavaScript並查找該腳本中的任何問題。欲瞭解更多詳細信息,在這裏看到一個偉大的書面記錄

http://mattwhite.me/blog/2010/4/21/tracking-down-error-80020101-in-internet-exploder.html

+0

跟着它,它的工作:) – Bogdan

+1

一個例子:如果你加載一個HTML文檔並將其添加到你的文檔(例如使用AngularJS),它有一個腳本標記,它可能有助於直接包括JavaScript – Joelbitar

相關問題