2013-03-28 2 views
2

Это мой простой код ajax, который работает в FFX и Chrome, но не в IE9. Я так устал от этого браузера, что не могу выразить. Это мой JQuery код:JQuery ajax не работает в IE9 даже с cors = true

$.ajax({ 
       type: "GET", 
       dataType: "xml", 
       crossDomain: true, 
       cache:false, 
       url: "http://somedomain.net/folder/ap/connector.php" 
      }).success(function (result, payPalresult) { 
}); 

внутри document.ready и connector.php имеет

Access-Control-Allow-Origin * 

, когда я проверил в Fiddler. Теперь этот код работает на FFX и хром, но не Аякса вызов не когда-либо сделал в IE9

У меня даже есть это:

$.support.cors = true; 

Что мне не хватает в этой точке? Я делаю запрос AJAX от localhost

+0

Возможного дубликат [IE9 JQuery AJAX с CORS возвращает "Доступ запрещен"] (http://stackoverflow.com/questions/10232017/ie9-jquery-ajax-with-cors-returns-access -отказано) – Maks3w

ответ

3

jQuery не поддерживает IE XDomainRequest объект, который IE9 использует для CORS. Только IE10 делает CORS с XMLHttpRequest. Я считаю, что есть плагин/плагин, который вы можете найти для jQuery, который позволяет объекту XDomainRequest. Дополнительная информация (включая ссылку на плагин/плагин, обновленный всего шесть месяцев назад, так довольно недавно) в this ticket на веб-сайте jQuery.

0

Если это поможет, обходной путь для IE9 без использования xdr (во всяком случае в зоне доверенных сайтов) и предполагающий CORS является true, а crossDomain - true.

При выполнении POST do NOT сериализуйте форму, но вместо этого извлеките все необходимые данные из формы и задайте их как пары name: value в контейнере $ data. Тогда это работает.

НТН

Смежные вопросы