2015-03-17 1 views
0

Я использую приведенный ниже фрагмент кода для извлечения данных из определенного webAPI.Невозможно получить результат из data.responseText в IE, но работать в другом браузере

data.responseText отлично работает в FireFox, но дает неопределенными в IE L

Я попытался с помощью data.responseJSON также, но это не работает в IE.

Пожалуйста, дайте мне решение этого вопроса.

Вот код, который я использую.

$.ajax({ 

      type: "GET", 

      url: serviceUrl, 

      contentType: "application/json", 

      data: "{'slid':'" + slidname + "'}", 

      async: false, 

      crossDomain: true, 

      complete: function (data) { 

      alert("hii"); 

     alert(data.responseText); 

      } 



     }); 
+0

Для того, чтобы полностью диагностировать эту проблему, было бы необходимо иметь номер версии (для IE и JQuery), а также URL, на странице вы пишете и URL-адрес службы он подключается к , Но я думаю, что вы можете столкнуться с той же проблемой, что и этот вопрос: http://stackoverflow.com/questions/17550248/ajax-cross-domain-request-ie-8 (т.е. запросы на кросс-поиск не работают в IE8 и 9 с JQuery) –

ответ

0

Какая версия IE? Если IE9 или меньше, проблема может быть вашей версией jQuery - см. http://jquery.com/browser-support/.

В противном случае, вы могли бы попробовать, если позволить браузеру сделать форматирование данных запроса Ajax помогает:

$.ajax({ type: "GET", url: serviceUrl, contentType: "application/json", data:JSON.stringify({"slid": slidname}), async: false, crossDomain: true, complete: function (data) { alert("hii"); alert(data.responseText); } });

Если это также не удается, вы можете попробовать «JSONP», как dataType для вызова ajax, поскольку у вас есть междоменный запрос.

$.ajax({ type: "GET", url: serviceUrl, contentType: "application/json", data: JSON.stringify({"slid": slidname}), async: false, crossDomain: true, dataType: "jsonp", complete: function (data) { alert("hii"); alert(data.responseText); } });

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