Ошибка JavaScript при отправке XMLHttpRequest в IE7 - PullRequest
0 голосов
/ 26 октября 2010

У меня странная проблема. Для одного из моих клиентов я добавил некоторые функции ajax на их сайт. Чтобы получить контекст; это веб-сайт для путешественников, а таблицы цен генерируются с помощью ajax-звонков, чтобы уменьшить нагрузку на сервер и улучшить взаимодействие с пользователем.

Только сейчас я получил электронное письмо, в котором говорится, что он не работает в IE7. Итак, чтобы проверить это, я сначала установил IETester, но он почти каждый раз вылетает, когда я открываю только веб-сайт. Итак, я скачал пробную версию VMWare Workstation и установил виртуальную машину XP с IE7 (потому что IE8 на моей основной установке Win7). Что за симуляция ошибки а ?! ;)

Так или иначе. После некоторой отладки я думаю, что это свойство статуса xmlHttpRequest, когда я пытаюсь alert этот статус в соответствующей функции javascript, IE показывает восклицательный знак в левом нижнем углу с каким-то расплывчатым сообщением «ошибка не определена далее», тогда как в IE8, FireFox и Chrome это совсем не проблема.

Итак, я подумал, что мог использовать неправильный объект XMLHttpRequest. Но опять же, первый звонок, который также сделан, чтобы инициировать первую таблицу цен на ближайший месяц, работает просто отлично. Просто чтобы убедиться, что я определил, какой объект должен работать для IE7, теперь я использую Msxml2.XMLHTTP, и начальная загрузка идет хорошо.

Когда я нажимаю <a onclick="callToFunction(with, correct, params)">click</a>, он входит в функцию обновления <div>, но затем он как бы зависает. Я обнаружил, что xmlHttp.readyState - это 4, но я не могу вывести xmlHttp.status, затем в левом нижнем углу снова появляется сообщение «ошибка не определена».

Мой вопрос после небольшого долгого вечера, пытаясь решить эту проблему, ребята, у вас есть какие-либо подсказки, в чем может быть проблема?


Пример: * * один тысяча двадцать-одна

http://www.bergenmeer.nl/50/oostenrijk/tirol/gerlos/residence-zillertal.html

Перейдите на вкладку «Цены и специальные предложения» и нажмите еще один месяц в строке ниже, например, янв, февраль, маа.

Обратите внимание, что неисправность появляется только в IE7.

1 Ответ

1 голос
/ 26 октября 2010

В IE7 вы можете попробовать использовать native window.XMLHttpRequest.
Что бы это ни стоило, у меня однажды была проблема, которая была решена удалением xmlhttp.setRequestHeader("Connection", "close"); (которого я не видел в вашем коде ...)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...