2014-10-06 33 views
0

我無法從Web服務加載一些數據。我創造了這個工廠:使用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); 
    }; 

一切正常,但是當我髮網址總是得到「錯誤」,而不是「成功」。我做錯了什麼?

+0

你得到的錯誤信息是什麼?嘗試在Error回調的'console.log()'中使用'angular.toJson(data)',並在這裏發佈錯誤消息。 – jsfrocha 2014-10-06 09:03:33

+0

我沒有收到任何錯誤消息,只有代碼進入$ http函數的錯誤部分,所以我收到字符串「錯誤」作爲結果。 – pabloasc 2014-10-06 09:12:14

+0

請執行@jsfrocha所說的話,用'console.log(data)'替換'console.log(「error」)'並告訴我們你在控制檯中得到了什麼。 – bmleite 2014-10-06 09:25:11

回答

2

你有什麼是跨域請求問題。爲了理解它,請花點時間閱讀Same-origin policy

由於您無法按「原樣」執行請求,這意味着CORS未啓用。你的其他選擇是使用JSONP,但是我不認爲JSONP目前被app.coldtrick.com API支持。

除非在服務器端啓用了其中一個選項,否則您將無法直接從JS應用程序執行這些請求。