Программирование > JavaScript & JScript

XMLHttpRequest

(1/3) > >>

Anthony:
День добрый!

Совершенно неожиданно наступил на такие грабли: на сайте есть табличка с данными, которые обновлются посредством XMLHttpRequest, когда пользователь нажимает на кнопочку. Через некоторое время ИЕ вылетает с системной ошибкой. В Firefox все работает стабильно.

Кто-нибудь сталкивался с подобной проблемой? Ниже привожу код скрипта:


function get_http(){
    var xmlhttp;

    if (window.XMLHttpRequest)
{
try { xmlhttp = new XMLHttpRequest(); }
catch (e) { xmlhttp = false; }
    }
else if (window.ActiveXObject)
{
try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); }
catch (e) { xmlhttp = false; }
    }
    return xmlhttp;
}

function ch_tbl_section()
{
if(!this.http)
{
this.http = get_http();
this.working = false;
}

if (!this.working && this.http)
{
var http = this.http;

url = .....;

this.http.open("GET", url, true);
this.http.onreadystatechange = function()
{
if (http.readyState == 4)
{
...
}
}
this.http.send(null);
}
if(!this.http) alert(\'Ошибка XMLHTTP!\');
}

vasa_c:
Что за ошибка?
В каком контексте выполняются эти функции?

Anthony:
Ошибка системная "Приносим свои извинения, приложение будет закрыто. Отправить отчет?" точный текст не помню.

Контекст. Ну я в принципе написал в самом начале. Пользователь жмет на кнопку "Обновить", вызывается функция ch_tbl_section(), которая посылает запрос на сервер. С сервера возвращается строка с данными, которая потом парсится, согдается табличка и после этого уже на страничке старая заменяется новой.

Ошибка вылезает только в ИЕ после нескольких обновлений.

vasa_c:
Т.е. ch_tbl_section() не как метод объекта вызывается? Зачем тогда this?

Anthony:
Честно говоря понятия не имею ;) Код писал не я, а разбираться приходится.

У меня тоже сначала возник подобный вопрос, думаю это один из вариантов работы с глобальными переменными без их объявления вне функции.

Навигация

[0] Главная страница сообщений

[#] Следующая страница

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 
Перейти к полной версии