Межсерверный запрос AJAX - работает во всех браузерах, кроме IE - PullRequest
0 голосов
/ 07 сентября 2011

Возникли некоторые проблемы с получением моего межсерверного запроса для работы в IE. Это вообще возможно? Я прочитал о кросс-серверных запросах, и кажется, что это полностью зависит от браузера. Если я запускаю приведенную ниже функцию в любом другом браузере IE, он возвращает функцию «success», IE просто возвращает функцию «error».

У меня вопрос: можно ли заставить это вернуть «успех» в IE вообще?

Я сократил свой код JS до следующего:

jQuery.support.cors = true;

$.getJSON($this.attr('action'))
.error(function() {

    console.log('ERROR');

}).success(function() {

    console.log('success');

});

Спасибо, Christian

Ответы [ 2 ]

2 голосов
/ 07 сентября 2011

Для выполнения междоменных запросов AJAX вам нужно сделать запрос JSONP, который вы можете сделать, добавив 'callback =?' на ваш URL.

0 голосов
/ 07 сентября 2011

зарегистрируйте сообщение об ошибке, например

$.getJSON($this.attr('action'))
.error(function(jxhr) {

    console.log(jxhr.status+" --- "+jxhr.responseText);

}).success(function(data) {

    console.log('success');

});

, что говорит эта строка console.log(jxhr.status+" --- "+jxhr.responseText); в IE, также попробуйте указать contentType like

$.ajaxSetup({
  cache: false,
  crossDomain: true, 
  contentType: "application/json; charset=utf-8"
 });

надеюсь, это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...