Поиск по этому блогу

понедельник, 28 февраля 2011 г.

Валиться Ajax запрос в IE или ошибка c00ce56e

Встретился с такой вот проблемой: самый что ни наесть обычный ajax запрос на jQuery и в IE валиться(даже в IE8). Статус ошибки выдал parsererror, что в прочем ничем не помогло ибо запрос был даже не на JSON или XML а text/html. Интересно было что если на запрос сервер ничего не присылал то он числился как удачный. В итоге дебаг привел меня к ошибке
Не удалось завершить действие. Ошибка c00ce56e.
Оказалось что данная ошибка происходит когда сервер передает IE неизвестную(некоректную) кодировку. При этом Firefox благополучно сам пытается ее определить а вот IE валиться. Для исправления необходимо передать верную кодировку, к примеру для UTF-8 это можно сделать так:

1. Передать заголовком в скрипте что генерирует ответ (к примеру PHP) header(‘Content-type: text/html; charset=utf-8′);
2. В файле .htaccess прописать строку AddDefaultCharset UTF-8
3. Или исправить настройки Apache

Следует обратить внимание на способ записи абревиатуры кодировки, частой ошибкой бывает пропущенное тире.

6 комментариев: