使用AngularJS从web服务加载数据

Load data from web service using AngularJS

本文关键字:加载 数据 服务 web AngularJS 使用      更新时间:2023-09-26

我在从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);
  };

一切看起来都很好,但当我发送一个url时,总是得到"error"而不是"success"。我做错了什么?

您面临的是跨域请求问题。为了理解它,请花点时间阅读同源政策。

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

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