Как стать автором
Обновить

Решение проблемы со странным «system error -1072896658» в MSIE6 при работе с XMLHttpRequest и responseText

Время на прочтение1 мин
Количество просмотров631
Не знаю, насколько этот трабл распространён, но у меня времени отобрал немало, поэтому чтобы никто больше с ним не имел проблем пишу следующий солюшн:

Проблема: MSIE6 выводит загадочный System Error -1072896658 (цифры могут быть другие) при обращении к свойству responseText объекта XMLHttpRequest.

Причина: Не может разобрать кодировку ответа.

Решение: Указываем в заголовке ответа сервера кодировку явным образом. Причём «utf-8» без дефиса, который частенько отдают сервера по умолчанию, он не понимает. Content-type роли не играет.

Пример заголовка: Content-type: application/json; charset=utf-8
(application/json — для json, согласно rfc4627)

Кстати при тестировании работы XMLHttpRequest при помощи FireBug будьте осторожны, у меня некоторые скрипты (использовал фреймфорк MooTools и синхронные запросы) почему-то отказались работать при выключенном FireBug. В суть проблемы не вникал. Решилось сменой ajax-класса MooTools на самописный (выложу чуть позже, когда отполирую).

Бонусный полезняк: file_get_contents('php://input') в PHP позволяет прочитать запрос клиента в сыром виде, не сталкиваясь с ограничениями при работе через $_POST. Подробнее про PHP wrappers.
Теги:
Хабы:
Всего голосов 13: ↑10 и ↓3+7
Комментарии9

Публикации