Прочитайте здесь .
Эта проблема обсуждалась на github.
Тогда это поможет понять, что именно делает плагин. Поскольку IE ‹ 10 не поддерживает загрузку файлов ajax, плагин имитирует взаимодействие с пользователем, отправляя исходную форму с ответом, предназначенным для динамически созданного iframe. Когда iframe загружает ответ сервера, подключаемый модуль извлекает ответ и вызывает обработчики обратного вызова.
В случае, когда сервер отвечает типом содержимого заголовка, установленным на «application/json», это запускает поведение загрузки IE по умолчанию. Чтобы избежать этого, не устанавливайте для заголовка content-type значение «application/json». Оставьте его как text/html или text/plain.
В случае, когда сервер имеет реальную ошибку, он вернет страницу ответа об ошибке с соответствующими кодами состояния, установленными в заголовке ответа. Это создает две проблемы для плагина:
- Он не может получить доступ к заголовкам ответа
- Он не может определить из тела ответа, был ли запрос успешным.
Потенциальное решение, если у вас есть контроль над страницей ответа об ошибке, состоит в том, чтобы добавить атрибуты к элементу body, который будет искать плагин. Плагин попытается получить доступ к атрибутам «status» и «statusText» в элементе body ответа. Поэтому, если ваша страница с ошибкой содержит что-то подобное, тогда будет активирован ваш обработчик ошибок.
Для IE нужно немного подправить
- используйте text/html или text/plain вместо «application/json».
- полностью контролировать ответ об ошибке, добавить сообщение об ошибке в текст успешного ответа, а затем извлечь и обработать его.
Нет ответа JSON в плагине формы jQuery в IE9
person
Tushar Gupta - curioustushar
schedule
14.10.2013