由于错误80020101,无法完成操作。IE

可能重复:
Ajax请求问题:错误80020101

我正在使用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。 任何想法????

我不知道为什么,但它为我工作。 如果你有类似的评论

 //Comment 

然后它给出这个错误。 要解决这个问题

 /*Comment*/ 

没有任何意义,但它对我有用。

所有错误80020101意味着在评估JavaScript时出现某种错误。 如果您通过Ajax加载JavaScript,评估过程特别严格。

有时删除/ /将解决这个问题,但反过来是不正确的…这个问题并不总是由/ /。

查看Ajax调用返回的确切JavaScript,并查找该脚本中的任何问题。 欲了解更多详情,请看这里的一个伟大的写作

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

包裹你的整个代码块:

 //<![CDATA[ //code here //]]> 

还要确保将脚本的types指定为text / javascript

试试看,让我知道如何去

如果您使用IE9,请closures兼容性视图。

你什么时候调用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); }