Json响应JS数组

时间:2017-04-21 05:58:26

标签: javascript php angularjs json ionic-framework

我正在尝试使用离子框架和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);
             
     }}
    )]; 

1 个答案:

答案 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本机函数将代码绑定到任何框架。因此,如果你需要重用这部分代码或重写应用程序,你也不必重写它。;)