使用AngularJS从Web服务加载数据

时间:2014-10-06 09:01:02

标签: javascript angularjs

我无法从Web服务加载一些数据。我创建了这个工厂:

.factory('urlService', function($http) {
  var service = {
  getURLStatus: function(urlElgg){
    var urlElgg = 'http://'+urlElgg+'/services/api/rest/xml/?method=system.api.list';
    $http({method: 'GET', url: urlElgg}).
      success(function(data) {
        console.log("success");
      }).
      error(function(data) {
        console.log("error");
      });
    }
  };
  return service;
})

我在控制器中有这个:

  $scope.doAddCommunity = function() {
    console.log('Doing Add Community', $scope.communityData.url);
    urlService.getURLStatus($scope.communityData.url);
  };

一切看起来都不错,但是当我发送网址时总是得到“错误”而不是“成功”。我做错了什么?

1 个答案:

答案 0 :(得分:2)

您所拥有的是跨域请求问题。为了理解它,请花点时间阅读Same-origin policy

由于您无法执行请求"因为它是",这意味着未启用CORS。您的另一个选择是使用JSONP,但我不认为app.coldtrick.com API目前支持JSONP。

除非在服务器端启用了其中一个选项,否则您将无法直接从JS应用程序执行这些请求。

相关问题