【发布时间】:2016-02-05 18:48:21
【问题描述】:
我正在尝试从 Web 服务取回数据,我必须首先从控制器调用数据,这里是代码
$http({
method: 'POST',
url: 'https://url_json.php',
headers: {'Content-Type': 'application/x-www-form-urlencoded; charset-UTF-8'},
transformRequest: function(obj) {
var str = [];
for(var p in obj)
str.push(encodeURIComponent(p) + "=" + encodeURIComponent(obj[p]));
return str.join("&");
},
data: paramsVal
}).then(function(response){
$scope.myData = response.data.PlaceDetailsResponse.results[0].first_name;
console.log('my data',$scope.myData);
});
}
但我想在控制器之间共享数据,所以我认为 service 是最好的选择,所以在我的 services.js 中我有:
.factory('userService', function($http){
return {
getUsers: function(){
return $http.post("https://url_json.php",
{entry : 'carlo' ,
type:'first_name',
mySecretCode : 'e8a53543fab6f00ebec85c535e'
}).then(function(response){
users = response;
return users;
});
}
}
})
但是当我使用var user = userService.getUsers(); 从控制器调用它时,在控制台中返回以下内容:
user is [object Object]
我只看到了 chrome 中的检查元素:
user is Promise {$$state: Object}
当我深入了解 Promise 数据值 = "" 时,也在 chrome 中。
谁能看看我的服务,看看我做错了什么。
谢谢
【问题讨论】:
标签: javascript angularjs json ionic-framework