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 ,который в строеный, так вот когда ошибок через чур много ослик просто винет некто не знает как его можно отключить

vflash пишет

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

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

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

В строку:

Выделить код

Код:

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

да верно асинхронный но перед тем как я запрошу второй раз а останавливаю запрос те 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 не показывает что ошибки а ослик целюу кучу выбрасывает но всеровно работае)

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 (на английском).

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