Задать вопрос
@boicko

Как заставить работать CORS в IE8/9?

Собственно, почему не работает, понятно.
Вопрос в следующем.
Для ИЕ нашёл плагин jquery.iecors.js, подключил, как описано в доке.
Пишут, что достаточно подключить и всё, дальше всё поедет.
Действительно, через $.ajax удаётся отправить запрос и получить ответ, но почему-то не отправляются POST-данные.
Т.е., при таком запросе:
$.ajax({
type: "POST",
url: "http://ххх/test.php",
data: ({test: "aaa"}),
crossDomain: true,
success: function(resp){
alert(resp);
}
});
приходит пустота.
На сервере в файле test.php пишу просто echo $_POST['test'];
Ну и, естесственно, перед этим все хедеры.
Во всех браузерах получаю ожидаемый ответ, т.е. "ааа", а IE8/9 - ничего.
Не поможете, что не так?
  • Вопрос задан
  • 2286 просмотров
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
@boicko Автор вопроса
Вот нашёл такое решение кроссдоменного ajax-запроса:

$(function(){
// запрос с использованием jQuery
$.ajax({
url: 'http://ххх.com/test.php',
success: function(data){
alert(data);
},
error: function(data){
alert(data);
},
type: "GET",
dataType: "text"
});
// аналогичный запрос
var client = new XMLHttpRequest();
client.open("GET", "http://ххх.com/test.php")
client.onreadystatechange = function() {}
client.send();
});

test.php:

<?php
header('Access-Control-Allow-Origin: yyy.com');
header('Cache-Control: no-cache, must-revalidate');
header('Pragma: no-cache');
header('Content-Type: text/html; charset=utf-8;');
echo 'hello world';
?>

Во всех браузерах получаю 'hello world', в ИЕ9 [object Object].

Почему так получается? Очень-очень нужна помощь.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы