| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > JavaScript: Общие вопросы > FF: "Component returned failure code: 0x80040111"в |
| Автор: Royan 18.2.2008, 16:37 | ||||
| Я знаю, что тема поднималась, но вопрос все-таки остался. Вопрос в том, выяснил ли все-таки кто-нибудь что это за баг, почему он происходит время от времени и как с ним бороться кроме как делать синхронный запрос? Я так понял что баг не проявляется в следующей ситуации:
И проявляется в
То есть когда читается поле status. Почему я так уверен? Потому что в моем случае баг появляется как раз на строчке, где идет чтение из поля статус. Хотел бы выслушать мнения, заранее благодарю. |
| Автор: Sardar 18.2.2008, 20:52 |
| Возможно из-за опечатки xmlHttp, возможно ислючение, что там подымается так оригинально ловиться лисой из обработчика onreadystatechange. |
| Автор: Royan 19.2.2008, 13:02 |
| Sardar, Это действительно опечатка. Но ты же сам выдвигал идеи в свое время по этому поводу: http://forum.vingrad.ru/index.php?showtopic=147081&view=findpost&p=1122100 Короче суть в том, что даже в случае асинхронного режима объект xmlHttp сохраняется где-то в недрах браузера иначе невозможно было бы проверить даже "readyState". Суть в том, что проблема выскакивает только при чтении поля статус |
| Автор: Sardar 19.2.2008, 13:58 |
| Так, согласно http://www.w3.org/TR/XMLHttpRequest/#status, браузер обязан поднять INVALID_STATE_ERR если статус-код не был получен (оборвали соединение, совсем галимый ответ от сервера и т.п.). Мозилла действительно точно следует этому предписанию и кидает NS_ERROR_NOT_AVAILABLE (0х80040111). Вывод: всегда нужно оборачивать обращение к .status (и не только) в try/catch блок. По исключению можно понять:
При исключении считаем что запрос не успел дойти до сервера, тихо материмся и донимаем пользователя алертами Чтиво: http://www.w3.org/TR/XMLHttpRequest/, http://helpful.knobs-dials.com/index.php/%22Component_returned_failure_code:_0x80040111_(NS_ERROR_NOT_AVAILABLE)%22, http://matthom.com/archive/2006/05/15/scary-ajax-error. |
| Автор: Royan 19.2.2008, 16:46 |
| Ясно спасибо! |