我无法从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 :(得分:2)
您所拥有的是跨域请求问题。为了理解它,请花点时间阅读Same-origin policy。
由于您无法执行请求"因为它是",这意味着未启用CORS。您的另一个选择是使用JSONP,但我不认为app.coldtrick.com API目前支持JSONP。
除非在服务器端启用了其中一个选项,否则您将无法直接从JS应用程序执行这些请求。