2014-11-27 4 views
0

Я использую AngularJS сделать кросс сайт JSon вызов следующим образом:Как сделать кросс-сайт HTTP GET запрос JSON

$http.get('http://ipinfo.io/json').success(function(response){ 

Вышеописанный запрос отлично работает для Chrome и Mozilla Forefox, но он не работает на IE 9. IE 9 - единственная версия, на которой я тестировал ее. Я предполагаю, что он не будет работать и с другими версиями IE.

Может ли кто-нибудь сказать мне ошибку, которую я совершаю здесь, за то, что она не работает в IE 9?

+0

Я тестировал его как на IE8, так и на IE9. Вы получаете какую-либо ошибку в консоли? – GeekOnGadgets

+0

@GeekOnGadgets: На консоли он просто говорит «Ошибка: доступ запрещен». – skip

+0

Вы смогли исправить проблему? или я должен опубликовать свой ответ? – GeekOnGadgets

ответ

1

enter image description here Вот как я это делаю, и это не из-за каких-либо ошибок для меня. Надеюсь, это может решить вашу проблему.

// контроллер

(function() { 
    var ipInfo = function($scope,IPService){ 
     IPService.ipServiceProvider() 
     .success(function(data){ 
      console.log(data); 
     }) 
     .error(function(status,error){ 
      console.log(status); 
      console.log(data); 
     }) 
    }; 
    ipInfo.$inject = ['$scope',IPService]; 
    angular.module('app').controller('ipInfo',ipInfo); 
}()); 

// Услуги

(function() { 
    var IPService= function($http) { 
     var urlBase = "http://ipinfo.io/json"; 
     var factory = {}; 
     factory.ipServiceProvider= function() { 
      return $http.get(urlBase); 
     }; 
     return factory; 
    }; 
    IPService.$inject = ['$http']; 
    angular.module('app').factory('IPService',IPService); 
}()); 

Пожалуйста, дайте мне знать, если у вас есть какие-либо проблемы

Update: Если вы видите этот экран, нажмите на Yes. Обычно это появляется в IE8 и IE9.

+0

Это именно то, что я делаю, получая сообщение об ошибке «Ошибка: доступ запрещен» в Internet Explorer. На chrome и Mozilla Firefox работает нормально. Вот как я делаю этот звонок. '.factory ('ipinfoService', ['$ http', function ($ http) {var factory = {}; factory.findIPInfo = function() {return $ http ({url:" http://ipinfo.io/ json ", метод:" GET "}) . then (function (resp) {return resp.data;}) .catch (function (err) {console.log ('Ошибка при извлечении ipinfo');});} ; return factory;}]) '. Просто не могу понять эту проблему. – skip

+0

@skip, пожалуйста, уточните в моем ответе. – GeekOnGadgets

+0

Я не получаю такого сообщения, когда я запрашиваю страницу. Я просто получаю сообщение «Ошибка: доступ запрещен» на консоли. Должен быть способ программирования IE для того, чтобы ни показать это страшное сообщение, ни дать «Ошибка: доступ запрещен» на консоли, и каким-то образом разрешить работу межсайтовых запросов просто отлично, как позволяют Chrome и Firefox. – skip

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

  • Нет связанных вопросов^_^