Страницы: 1
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 ,который в строеный, так вот когда ошибок через чур много ослик просто винет некто не знает как его можно отключить
Отсутствует
...так вот делаю запрос docSend() все нормально
делаю быстро быстро docSend() те от первого нечего ешё не получил делаю второй, вот тогда и вылетает исключение
в чем дело пока не понял...
Асинхронный запрос, наверное, поэтому.
Попробуй синхронный:
doc.open('POST', namurl, false);
...как из XMLdocument преобразовать в HTMLdocment или в string...
В строку:
var xmlser = new XMLSerializer (); var str = xmlser. serializeToString (fragment. firstChild);
Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!
Отсутствует
да верно асинхронный но перед тем как я запрошу второй раз а останавливаю запрос те 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 не показывает что ошибки а ослик целюу кучу выбрасывает но всеровно работае)
Отсутствует
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ентов на части порвет !!!
Отсутствует
Правильно Anton говорит. один XMLHttpRequest объект на один запрос решит проблему. вообще чтоб всё это было красиво и кроссбраузерно лучше написть класс где новый XMLHttpRequest объект будет создаваться при инициализации экземпляра класса и гемороя станет намного меньше
Gentoo Linux
Отсутствует
Страницы: 1