Подтвердить что ты не робот

Не удалось выполнить операцию из-за ошибки 80020101. IE

Возможный дубликат:
Проблема с запросом Ajax: ошибка 80020101

Я использую JQuery-1.64, и это мой код для reset timer

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. Любая идея????

4b9b3361

Ответ 1

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

//Comment

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

/*Comment*/

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

Ответ 2

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

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

Посмотрите на точный JavaScript, возвращаемый вашим вызовом Ajax, и найдите все проблемы в этом script. Для получения дополнительной информации см. Отличную запись здесь

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

Ответ 3

завершите весь блок кода следующим образом:

//<![CDATA[

//code here

//]]>

также обязательно укажите тип script как text/javascript

попробуйте и дайте мне знать, как это происходит.

Ответ 4

Отключить представление совместимости, если вы используете IE9.

Ответ 5

когда вы вызываете timerReset()? Возможно, вы получаете эту ошибку при попытке вызвать ее после того, как setTimeout() уже выполнил свою задачу?

оберните его в

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

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