2013-03-12 4 views
1

Я разработал веб-приложение, которое делает запросы ajax веб-службе на сервере в другом домене с сервера, на котором размещено веб-приложение.ie 10 запрос ajax для перекрестного домена

Я настроил веб-службу, чтобы выполнить предполетную проверку, чтобы установить необходимые заголовки, чтобы разрешить запрос перекрестного домена.

В веб-приложении я использую клиент JQuery для доступа к веб-службе. Я установил свойства в команде Jquery, чтобы разрешить доступ к перекрестным доменам.

$ .support.cors = true;

В Chrome это все работает нормально. В IE9, однако, поведение кросс-домена является лишь частично успешным. Все запросы получают. Но пост-запросы с контентом типа application/json терпят неудачу, потому что IE9 отказывается делать почтовые запросы с любым типом контента, кроме text/html. IE9 переключает тип содержимого в запросе, и запрос сбой на сервере с 400 плохим запросом.

Я читал, что с IE10 запрос на перекрестный домен будет работать так же, как в Chrome. Но после проверки этого я обнаружил, что IE10 имеет то же поведение, что и IE9. Браузер не будет устанавливать тип содержимого в application/json. Таким образом, почтовые запросы не выполняются.

Кто-нибудь знает, возможно ли в IE10 выполнять перекрестные запросы на отправку домена с другими типами контента, чем text/html. Это делает запись веб-приложений, которые делают что-то большее, чем отображение данных чрезвычайно сложно.

Есть ли другие настройки, которые мне нужно сделать по запросу JQuery? Или в службе перед полетом?

ответ

0

Как выглядит ваш вызов $ .ajax()? Вы можете попробовать добавить data: 'json' к вашему вызову JQuery, чтобы заставить тип данных быть json. Вам также не нужно устанавливать $.support.cors = true;, JQuery должен понять это для вас (но его нормально оставить его сейчас).

-1

У меня есть данные типа набора параметров: 'json'. Chrome отличает это, но IE переключается на текст/html. Я читал, что это была проблема с информацией в IE9 и ниже, но IE10 будет использовать ту же реализацию ajax, что и Chrome, но это, по-видимому, не так.

+0

Это следует оставить в качестве комментария, а не ответа. – brbcoding