• Авторизация


Хочу вернуться к проблеме испоьзования AJAX, 17-07-2005 22:40 к комментариям - к полной версии - понравилось!


Хочу вернуться к проблеме испоьзования AJAX, который мне посоветовал ToSHiC. Кстати, спасибо большое. Вот линк, с хорошими объяснениями и примерами:
http://www.teencoderz.com/forums2/articles.php?action=viewarticle&artid=39
Однако, я все равно застрял. Я создаю объект:

http = new XMLHttpRequest();

Он создается правильно, я могу это проверить на JS console. НО, дальше:

var url = 'UpdateListCities.php?id=' + IDCountry;
http.open('GET',url,true);

После open все обваливается, причем совершенно не ясно где искать ошибку? РНР скрипт находится там же, где и JS... Поэтому, если он его не находит, то непонятно почему? У кого нибудь есть опыт по этому поводу? Подскажите, пожалуйста, где тут собака порылась? :)
вверх^ к полной версии понравилось! в evernote
Комментарии (8):
Обваливается в смысле крешит броузер или просто ничего не делает? По идее логическим продолжением кода должно быть http.send(null);
И еще раз ты его дергаешь ассинхронно - третий парам в http.open('GET',url,true); то надо ждать пока не (http.readyState == 4) прежде чем вытягивать данные из обжекта.
В общем все должно быть где-то в таком виде:

http = new XMLHttpRequest();

var url = 'UpdateListCities.php?id=' + IDCountry;
http.open('GET',url,true);

http.onreadystatechange = function() {
if (http.readyState == 4) {
// делаем чего надо с http, бо он уже отработал
}
}

http.send(null);
непобедимый, Это я понимаю. Это все есть, но если, скажем после open поставить alert("bla-bla-bla");
то этот алерт никогда не появляется, ранво как и аллерты после http.send(null);
Отсюда я заключил, что функция обваливается после open . Выглядит так, как вроде ничего не происходит.
Слесарь_гинеколог, попробуй заклеить это все внутри try { ... } catch (e) {alert(e)} и глянь что скажет?
Какой вообще браузер у тебя? В Мозилле насколько я помню для локальной паги юзающей ХМЛХТТПРеквест надо разрешения запрашивать.
Спасибо. Попробую. Но вообще я в разых броузерах пробовал: IExplorer (у него там объект по-другому создается), Netscape, FireFox.
Так, попробовал...
Если после open поставить, например, alert(http.status);
то exception выдает ошибку именно в этой строке. Если не ставить, то exception не возникает, но и не работает ничего...
Ну а что за ошибку то выдает эксепшин? :)
Ну, скажем, сразу после open я добавляю этот самый alert. Порлучается, что он в 14 строке. Вот, эксепшин и выдает кучу всякой абракадабры (ссылки на "плохие" блоки памяти", адреса ипр.), и сообщение, что ошибка в 14 строке.
ссылки на "плохие" блоки памяти", адреса ипр. - это я так понял уже не жавакриптовый эксепшин, а броузер валится. Но это тогде глюк конкретного броузера и никак не могут падать одинаково Мозилла и ИЕ.


Комментарии (8): вверх^

Вы сейчас не можете прокомментировать это сообщение.

Дневник Хочу вернуться к проблеме испоьзования AJAX, | community_coding - Сообщество программистов | Лента друзей community_coding / Полная версия Добавить в друзья Страницы: раньше»