Прочитано Here.
Эта проблема обсуждалась на github.
Тогда это помогает понять, что делает плагин. Поскольку IE < 10 не поддерживает загрузку файла ajax, плагин имитирует пользовательский интерфейс, отправляя исходную форму с ответом, нацеленным на динамически созданный iframe. Когда iframe загружает ответ сервера, плагин извлекает ответ и вызывает обработчики обратного вызова.
В случае, когда сервер отвечает типом содержимого заголовка, установленным в «application/json», который запускает загрузку IE по умолчанию. Чтобы этого избежать, не устанавливайте заголовок типа содержимого «application/json». Оставьте это как text/html или text/plain.
В том случае, когда сервер имеет фактическую ошибку он будет возвращать страницу ответа ошибки с соответствующими кодами состояния, установленных в ответ заголовка. Это создает две проблем для плагина:
- Он не может получить доступ к заголовкам ответа
- Он не может определить, из тела ответа, был ли или нет запроса успешно
Потенциальных решение, если у вас есть контроль над ответом на ошибку , нужно добавить атрибуты на элементе body, который плагин будет . Плагин попытается получить доступ к атрибутам «status» и «statusText» в элементе тела ответа. Поэтому, если ваша страница ошибки включает в себя что-то вроде этого, ваш обработчик ошибок будет запущен.
Это просто нужно сделать небольшой хак для IE
- использование текста/HTML или текст/равнину вместо 'приложения/JSON'.
- полностью контролирует ответ об ошибке, добавляет сообщение об ошибке в удаленный орган ответа, а затем извлекает и обрабатывает его.
No JSON response in jQuery form plugin in IE9