Как выполнить междоменный запрос AJAX в IE8 с помощью Chrome Frame

У меня есть приложение, которое должно поддерживать IE8 (с Google Chrome Frame), которое будет выполнять междоменные запросы. Я понимаю, что обычный IE8 использует XDomainRequest для этих вызовов, но при использовании Chrome Frame и просмотре консоли я не вижу XDomainRequest в объекте окна.

Поскольку я использую Chrome Frame, я понимаю, что использую движок Chrome JavaScript... но означает ли это, что я должен иметь возможность использовать XMLHTTPRequest для CORS? Когда я пытаюсь это сделать, я получаю междоменную ошибку в консоли.

Кто-нибудь может пояснить, как это должно работать? Я запутался.


person Cdizzle    schedule 08.07.2014    source источник


Ответы (1)


IE 8 не поддерживает CORS, но вы можете заглянуть в JSONP, если выполняете только запросы Get. Однако есть несколько проблем с безопасностью JSONP. Другой подход заключается в использовании обратного прокси-сервера, что означает, что вы создаете страницу/сервис на своем собственном домене, который, в свою очередь, отправляет запрос на другой домен. Это позволяет обойти проблему междоменного доступа, поскольку браузер запрашивает ресурс в вашем домене.

person TGH    schedule 08.07.2014
comment
К сожалению, я делаю POST-запросы. Возможно, мне придется изучить вариант обратного прокси, так как мне трудно найти жизнеспособные способы заставить это работать. Мне также трудно поверить, что ванильный IE8 может сделать этот запрос, но IE8 с Chrome Frame не может. - person Cdizzle; 15.07.2014