我正在尝试使用离子框架和php开发移动应用程序。我的问题是我必须显示所有注册用户。我的PHP代码将返回id和名称作为Json数组。我想以下列格式接收数组
var profiles = [{
id: 0,
name: 'aaa',
}, {
id: 1,
name: 'bbb',
}, {
id: 2,
name: 'ccc',
}];
我尝试了以下代码但它无效
var profiles = [ {
str="http://localhost:8888/webapp/api.php?";
var data = {
sta : "userdetails"
};
$http.post(str,data)
.success(function (response){
return angular.fromJson(response);
}}
)];
答案 0 :(得分:0)
首先,我可以看到你试图直接从response
读取一个JSON,它实际上是一个JSON对象(不是JSON字符串)。角度响应对象具有一些属性。点击此处查看更多内容https://docs.angularjs.org/api/ng/service/ $ http /
此外,请确保服务器响应实际上是有效的JSON字符串http://jsonlint.com/。您的回复可能是JSON对象,因此您可以直接从response.data
访问您的回复。
有效的JSON字符串是:
"[{"id":0,"name":"aaa"},{"id":1,"name":"bbb"},{"id":2,"name":"ccc"}]"
如果您的回复是有效的JSON字符串,您可以使用angular.fromJson(response.data)
或JSON.parse(response.data)
[1]来获取所需的数据。
[1] 使用JSON.parse代替angular' s函数会更好,因为您没有使用javascript本机函数将代码绑定到任何框架。因此,如果你需要重用这部分代码或重写应用程序,你也不必重写它。;)