Angularjs Ionic JSON 对象不返回数据
Angularjs Ionic JSON object not returning data
我正在尝试从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);
});
}
但我想在控制器之间共享数据,所以我读服务是最好的选择,所以在我的服务中.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]
和检查铬中的元素我只看到:
user is Promise {$$state: Object}
同样在 chrome 中,当我向下钻取承诺时,数据值 = "。
任何人都可以看看我的服务,看看我是否做错了什么。
谢谢
.then
返回一个承诺。你正在爱上显式承诺构造反模式。
getUsers: function(){
return $http.post("https://url_json.php",
{entry : 'carlo' ,
type:'first_name',
mySecretCode : 'e8a53543fab6f00ebec85c535e'
})
}
以上就是您所需要的。然后,在控制器中:
userService.getUsers()
.then(function(response) {
$scope.data = response.data; // or whatever
});
我建议查看John Papa AngularJS风格指南。他有很多关于获取服务数据、在控制器中使用它等的信息。
在您的控制器中,您必须通过解析来自 getUsers 的 promise 返回来分配用户变量,如下所示:
$scope.user = [];
$scope.error ="";
userService.getUsers().then(function(data){
$scope.user = data
},function(err){
$scope.error = err;
});
希望这有帮助。
相关文章:
- AJAX调用并在Node中获取返回数据
- 角度服务未返回数据
- 统计ajax返回数据中的html元素
- 有没有更好的方法可以测量从Ajax调用返回数据所需的总时间
- Imgur API图像搜索未返回数据
- javascript对象显示为null,但object.properties返回数据
- 如何从ajax调用JQuery返回数据
- 试图从嵌套的回调函数返回数据
- NodeJS FS 不从多个文件返回数据
- ajax函数未在C#中返回数据
- 如何在公共js模块中从web服务返回数据
- 将字符串与 JSON 对象组合以返回数据
- 嵌套异步函数未及时返回数据的问题
- NodeJS JSONStream 以一个长字符串的形式返回数据
- 如何使用 HTML 图像请求将数据发送到服务器,或返回数据作为响应
- 从 Angular 模态服务中的模态主体模板返回数据
- jQuery 每个循环返回数据两次
- $.getJSON 在返回数据后不会运行函数
- 如何访问返回数据中的特定json值
- 工厂返回数据后未设置角度$scope