Полезная информация

Заказывай стафф с атрибутикой Mozilla и... пусть все вокруг завидуют тебе! Быть уникальным - быть с Mozilla!

№121-11-2005 18:30:59

vflash
Участник
 
Группа: Members
Зарегистрирован: 21-11-2005
Сообщений: 40

nsIXMLHttpRequest.status

nsIXMLHttpRequest.status

Ошибка: uncaught exception: [Exception... "Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIXMLHttpRequest.status]" nsresult: "0x80040111 (NS_ERROR_NOT_AVAILABLE)" location: "JS frame :: http://admin/rulon/jurff.htm :: HandleStateStatus :: line 77" data: no]

это на FIREFOX

в обшем код работает но иногда вылетает исключение
происходит это при ситуациях я делаю запрос когда на последний еше не получил ответ

код у менчя вобшем как по книжке
делаю запрос следуюшим оброзом
function docSend() {
doc.abort();
namurl="libjur.php";
doc.open('POST',namurl ,true);
doc.onreadystatechange = HandleStateChange;
doc.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
queryStr = name+nasel;
doc.send("s=s"+queryStr);
};
function HandleStateChange() {
if (doc.readyState == 4) {
if (doc.status == 200) {
xmlDoc = doc.responseXML;
fragment = xsltProcessor.transformToFragment(xmlDoc, document);
document.getElementById("TABLPOISK").innerHTML = "";
document.getElementById("TABLPOISK").appendChild(fragment);
};
}
};

так вот делаю запрос docSend() все нормально
делаю быстро быстро docSend() те от первого нечего ешё не получил делаю второй, вот тогда и вылетает исключение
в чем дело пока не понял

и еше некто не знает как из XMLdocument преобразовать в HTMLdocment или в string
ато приходится в два хода делать
document.getElementById("TABLPOISK").innerHTML = "";
document.getElementById("TABLPOISK").appendChild(fragment);


и еше в ослике есть инспектор(както так) javascrip ,который в строеный, так вот когда ошибок через чур много ослик просто винет некто не знает как его можно отключить

Отсутствует

 

№221-11-2005 21:31:07

Anton
Участник
 
Группа: Extensions
Откуда: от верблюда
Зарегистрирован: 14-12-2004
Сообщений: 3057
Веб-сайт

Re: nsIXMLHttpRequest.status

vflash пишет

...так вот делаю запрос docSend() все нормально
делаю быстро быстро docSend() те от первого нечего ешё не получил делаю второй, вот тогда и вылетает исключение
в чем дело пока не понял...

Асинхронный запрос, наверное, поэтому.
Попробуй синхронный:
doc.open('POST', namurl, false);

...как из XMLdocument преобразовать в HTMLdocment или в string...

В строку:

Выделить код

Код:

var xmlser = new XMLSerializer ();
var str = xmlser. serializeToString (fragment. firstChild);

Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!

Отсутствует

 

№321-11-2005 21:49:35

vflash
Участник
 
Группа: Members
Зарегистрирован: 21-11-2005
Сообщений: 40

Re: nsIXMLHttpRequest.status

да верно асинхронный но перед тем как я запрошу второй раз а останавливаю запрос те doc.readyState == 0 и только в этомм случи посылаю новый запрос
а когда doc.readyState == 0 то значит можно посылать новый и потом
и потом глючит на doc.status == 200 какбудто нет такова свойства и вдоки написано что исключение происходит когда doc.readyState ==0,1,2 (вроде)
а я проверяю перед этим if (doc.readyState == 4) 

приблезительно вот какой код
doc.abort();
if (doc.readyState == 0) { тут send};

и по событию
if (doc.readyState == 4) {
f (doc.status == 200) {////};  // тут касяк и выхобит
};


в IE кстати все работает (но там и не все касеки возможно видны к примеру MyAdminSql в IE работает нормально и ослике тоже но IE не показывает что ошибки а ослик целюу кучу выбрасывает но всеровно работае)

Отсутствует

 

№421-11-2005 23:57:53

Anton
Участник
 
Группа: Extensions
Откуда: от верблюда
Зарегистрирован: 14-12-2004
Сообщений: 3057
Веб-сайт

Re: nsIXMLHttpRequest.status

vflash пишет

nsIXMLHttpRequest.status

Ошибка: uncaught exception: [Exception... "Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIXMLHttpRequest.status]" nsresult: "0x80040111 (NS_ERROR_NOT_AVAILABLE)" location: "JS frame :: http://admin/rulon/jurff.htm :: HandleStateStatus :: line 77" data: no]...
в чем дело пока не понял

Я вообще-то тоже не понял... Но знаю как "обойти". Перед повторным вызовом docSend () создай новый объект:
doc = new XMLHttpRequest ();

Об организации нескольких асинхронных вызовов можно прочитать здесь: http://kb.mozillazine.org/XMLHttpRequest (на английском).


Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!

Отсутствует

 

№522-11-2005 08:44:00

Rion
Участник
 
Группа: Extensions
Откуда: Екатеринбург
Зарегистрирован: 15-06-2005
Сообщений: 227

Re: nsIXMLHttpRequest.status

Правильно Anton говорит. один XMLHttpRequest объект на один запрос решит проблему. вообще чтоб всё это было красиво и кроссбраузерно лучше написть класс где новый XMLHttpRequest объект будет создаваться при инициализации экземпляра класса и гемороя станет намного меньше


Gentoo Linux

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]