Модераторы: Sardar, Aliance

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ошибка XMLHttpRequest, что она значит??? 
:(
    Опции темы
Black
  Дата 1.7.2005, 12:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Web-Development
**


Профиль
Группа: Участник
Сообщений: 980
Регистрация: 15.8.2004

Репутация: 4
Всего: 45



Интересно, что бы это могло значить???

Цитата
Ошибка: [Exception... "Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIXMLHttpRequest.status]"  nsresult: "0x80040111 (NS_ERROR_NOT_AVAILABLE)"  location: "JS frame :: http://name.ru/js/js1.js :: anonymous :: line 160"  data: no]
Источник: http://name.ru/js/js1.js
Строка: 120


Вообщем, эту ошибку мне периодически выдает консоль FireFox
И когда появляется данная ошибка, то запросы к XMLHttpRequest куда-то пропадают

Почему возникает данная ошибка и как ее решить, кто-нибудь может это объяснить???


--------------------
Могу все, но ничего не умею :-)
PM WWW   Вверх
Irokez
Дата 1.7.2005, 12:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


индеец
***


Профиль
Группа: Участник Клуба
Сообщений: 1180
Регистрация: 20.10.2004

Репутация: 1
Всего: 53



код бы посмотреть ;)
PM   Вверх
Aliance
Дата 1.7.2005, 13:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 55
Всего: 137



Кинь 120 строчку.
Каким методом идет пересылка данных?
Может объем.
По мыслям читать не научился еще, извеняйте smile
PM MAIL WWW ICQ Skype   Вверх
Sardar
Дата 1.7.2005, 15:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



В полне возможно что ты запрашиваешь какую нибудь фичу XMLHttpRequest, что в Мозилле ещё не имплементированна. Она обычно вот таким образом и ругаеться smile


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Black
Дата 1.7.2005, 15:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Web-Development
**


Профиль
Группа: Участник
Сообщений: 980
Регистрация: 15.8.2004

Репутация: 4
Всего: 45



Цитата
Каким методом идет пересылка данных?

POST

Цитата
Может объем.

да какой там объем smile Две цифры длинной в один символ. Того 2 символа...

Цитата
По мыслям читать не научился еще, извеняйте

Почти все примерно такой код и используют.. я решил его и не кидать... ладно, вот функция:

Код

function Refresh(url,data)
{
 var Req = createRequestObject();
 Req.onreadystatechange = function(){if(Req.readyState==4&&Req.status==200) { eval(Req.responseText); }};
 Req.open('POST',url,true);
 Req.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
 Req.send(data);
}


На эту строку ругается:

Код

Req.onreadystatechange = function(){if(Req.readyState==4&&Req.status==200) { eval(Req.responseText); }};




Добавлено @ 15:15
Цитата
имплементированна

ну и слово smile, это типа не поддерживается.


--------------------
Могу все, но ничего не умею :-)
PM WWW   Вверх
Иль
Дата 2.7.2005, 01:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 544
Регистрация: 3.3.2005
Где: Москва

Репутация: 2
Всего: 14



Цитата(PHP @ 1.7.2005, 15:13)
ну и слово , это типа не поддерживается

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


--------------------
Ты виндусятник?... А я да. smile
PM MAIL ICQ Skype GTalk   Вверх
Иль
Дата 2.7.2005, 02:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 544
Регистрация: 3.3.2005
Где: Москва

Репутация: 2
Всего: 14



1. Придется раскидать строчку, без этого никак, чтоб точно увидь место где гадство происходит. Скинь сюда как получиш результат точнее
Код

Req.onreadystatechange = function(){
    if(Req.readyState==4&&Req.status==200) {
        eval(Req.responseText);
    }
};

Потом заменить бы в обработчике Req на this.
Код

Req.onreadystatechange = function(){
    if(this.readyState==4&&this.status==200) {
        eval(this.responseText);
    }
};

Я смею робко (очень робко) предположить:
1. это скорей eval из-за NS_ERROR_NOT_AVAILABLE (знакомая штучка smile), а больше и нечему
Можно проверит через исключения
Код

Req.onreadystatechange = function(){
    var err;
    try{
        if(this.readyState==4&&this.status==200) {
            eval(this.responseText);
        }
    }catch(err){
        alert(this.responseText)
    };
};

извини, не тестил, может не пройти и потребовать предварительно что-то типа var zz=this. Или создай <span> или input на видном месте и скидывай в него значения передаваемые eval вот так
Код

Req.onreadystatechange = function(){
    if(this.readyState==4&&this.status==200) {
        inpa.value=this.responseText;//например для input с id="inpa"
        eval(this.responseText);
    }
};

Перед глюком, там уже будет полюбэ лежать то, что попало в eval
2. в какой-то момент может глюкнуть от того, как все это вызывается. Надеюсь накладочки быть не может smile
3. Если все тестится на локалке то могут быть ИМХО проблемы срабатывания событий под Gecko, но это врядли, хотя onerror железно глючит, даже при автономной работе


--------------------
Ты виндусятник?... А я да. smile
PM MAIL ICQ Skype GTalk   Вверх
Sardar
Дата 2.7.2005, 02:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Цитата
Потом заменить бы в обработчике Req на this.

XMLHttpRequest был придуман MS, поэтому this указывет на чёрт-его-знает-что smile


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Иль
Дата 2.7.2005, 03:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 544
Регистрация: 3.3.2005
Где: Москва

Репутация: 2
Всего: 14



Ух ты, но зато сразу видно, что я еще не использовал его smile


--------------------
Ты виндусятник?... А я да. smile
PM MAIL ICQ Skype GTalk   Вверх
Irokez
Дата 2.7.2005, 10:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


индеец
***


Профиль
Группа: Участник Клуба
Сообщений: 1180
Регистрация: 20.10.2004

Репутация: 1
Всего: 53



Цитата(PHP @ 1.7.2005, 15:13)
eval(Req.responseText)

по-моему в этом роблема... ты в серверном скрипте генерируешь ява скрипт и пытаешься его выполнить?
PM   Вверх
Black
Дата 2.7.2005, 11:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Web-Development
**


Профиль
Группа: Участник
Сообщений: 980
Регистрация: 15.8.2004

Репутация: 4
Всего: 45



Цитата
ты в серверном скрипте генерируешь ява скрипт и пытаешься его выполнить?

именно так smile

Серверные скрипты у меня хорошо работают, все правильно генерируют... по крайней мере мне так кажется. Я проверял на:

Код

alert(Req.responseText);


Нормальный JavaScript код выдает. Однако, когда происходит данная ошибка текст в Req.responseText не передается, можно сказать что запрос не происходит, он куда-то теряется.

Тестирую пока на локалхосте.


--------------------
Могу все, но ничего не умею :-)
PM WWW   Вверх
Иль
Дата 2.7.2005, 19:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 544
Регистрация: 3.3.2005
Где: Москва

Репутация: 2
Всего: 14



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

Я б сделал проверку получаемого, а потом замену на "по умолчанию" если не то или вызов повторного запроса, тк понятно, что с сервера не должна приходить пустая строка.
Потом полюбэ надо делать проверку пришедшего, мало ли чего там передастся, мало ли чего замутится на сервере или какой-то рег не так как ожидаемо сработает. Я обычно заключаю в обработчик исключений eval и тут не помешает, чтоб делать повторный запрос. Ведь у тебя все правильно сделано, а страница проглючивается иногда. Я не допущу, чтоб мой посетитель на проглючки смотрел smile

Эх, жаль не дошли еще руки до этого, вместе бы порылись. Но обязатьно займусь.


--------------------
Ты виндусятник?... А я да. smile
PM MAIL ICQ Skype GTalk   Вверх
Irokez
Дата 2.7.2005, 19:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


индеец
***


Профиль
Группа: Участник Клуба
Сообщений: 1180
Регистрация: 20.10.2004

Репутация: 1
Всего: 53



Цитата(PHP @ 2.7.2005, 11:10)
Нормальный JavaScript код выдает.

лучше передавай код того что надо сделать, а потом по нему осуществляй действия.. по моему так даже безопаснее будет.
PM   Вверх
Black
Дата 2.7.2005, 20:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Web-Development
**


Профиль
Группа: Участник
Сообщений: 980
Регистрация: 15.8.2004

Репутация: 4
Всего: 45



Irokez
дык, а как его передавать??> без обновления страницы... лучшего способа, чем XMLHttpRequest я не нашёл.

Цитата
по моему так даже безопаснее будет.

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


--------------------
Могу все, но ничего не умею :-)
PM WWW   Вверх
Irokez
Дата 2.7.2005, 20:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


индеец
***


Профиль
Группа: Участник Клуба
Сообщений: 1180
Регистрация: 20.10.2004

Репутация: 1
Всего: 53



Цитата(PHP @ 2.7.2005, 20:15)
дык, а как его передавать??> без обновления страницы... лучшего способа, чем XMLHttpRequest я не нашёл.

ну например передаешь код, при получении проверяешь его и выполняешь действия:
Код

switch(Req.responseText) {
    case 'refresh':
        window.reload();
        break;
    case 'alert':
        window.alert('hi');
         break;
}

итд
PM   Вверх
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0605 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.