2012-01-13 5 views
0

У нас есть много AJAX на наших страницах. В основном это было в наших внутренних системах, поэтому мы не тестировали его с большим количеством браузеров. Но на данный момент мы разрабатываем основную функцию, которая будет использовать AJAX для наших клиентов, и мы тестируем ее более тщательно. Один из тестов был в IE9, работающем в режиме IE7, который работал отлично. Но когда мы взяли машину с реальным браузером IE7, мы обнаружили, что AJAX работает только один раз на любой из наших страниц. Похоже, что после того, как часть страницы была повторно отображена с помощью ajax, все события javascript в той части HTML, которая была повторно отображена, перестает работать. Невозможно получить даже окно javascript alert().AJAX не работает в IE7

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

И если это настоящая проблема, что вы сделали, чтобы исправить это? 10% наших пользователей по-прежнему используют IE7, поэтому резка этого браузера просто не является приемлемым решением.

UPDATE/SOLVED: Мы решили приобрести новый сервер и настроить его с помощью Windows XP. Несмотря на то, что мы не поддерживаем его, мы тестировали его в IE6, и он работал. Затем мы установили IE7, и он тоже работал. Угадай, что наш старый тестовый сервер все испортил. Так что все работает в IE7 в конце концов.

Благодарим вас за все предложения.

+0

PS: Мы используем JSF2 и f: ajax для всех наших AJAX. –

ответ

1

Лично я намерен забыть о старых браузерах, но я обычно использую библиотеку JQuery для моих запросов AJAX, так как я обычно использую jQuery в любом случае для конкретных анимации и т.д.

JQuery поддерживает следующие браузеры:

Firefox 3.6, 5.0.x, 6.0.x

Internet Explorer 6+

Safari 5. 0.x Opera ток - 1

версия Chrome ток - 1 версия

source

Поскольку JQuery AJAX является очень частью библиотеки JQuery, как и все остальное, я предполагаю, что JQuery AJAX является поддерживаемых этими браузерами.

jQuery AJAX API

+0

Хорошая точка. Таким образом, мы могли бы просто столкнуться с ошибкой JSF2. –

1

AJAX звонки кэшируются в IE. Используйте «cache: false» в параметрах вызова ajax.

+0

Что произойдет, если вы не используете «cache: false»? –

+0

Я имею в виду, мы нажимаем кнопку отправки и запускаем AJAX. Затем мы снова нажимаем на него, и никаких событий onclick не запускается. Вместо этого отправляется традиционный запрос POST без AJAX. –

+0

Если вы не добавите «cache: false», IE будет кэшировать ваши вызовы ajax, и вы не получите новых данных с сервера –

Смежные вопросы