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