由于错误80020101,无法完成操作.即

Could not complete the operation due to error 80020101. IE

本文关键字:操作 80020101 于错误 错误      更新时间:2023-09-26

可能的重复项:
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中,当我尝试清除超时时。有什么想法吗????

我不知道

为什么,但它对我有用。如果您有这样的评论

//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
//]]>

还要确保将脚本类型指定为 text/JavaScript

试试看,让我知道它是怎么回事

如果使用 IE9,请关闭兼容性视图。

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