Не удалось завершить действие ошибка 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. Есть Идеи????

5 ответов


Я не знаю, почему, но это сработало для меня. Если у вас есть комментарии типа

//Comment

затем он дает эту ошибку. Чтобы исправить это сделать

/*Comment*/

не имеет смысла, но это сработало для меня.


вся ошибка 80020101 означает, что при оценке JavaScript произошла какая-то ошибка. Если вы загружаете этот JavaScript через Ajax, процесс оценки особенно строг.

иногда удаление // исправит проблему, но обратное не верно... проблема не всегда вызвана //.

посмотрите на точный JavaScript, возвращаемый вашим вызовом Ajax, и найдите любые проблемы в этом скрипте. Дополнительные сведения см. В разделе a отличная запись здесь

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);
}

edit: на самом деле, после дальнейшего размышления, так как вы упомянули 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);
}