【问题标题】:Json response to JS arrayJson 响应 JS 数组
【发布时间】:2017-09-17 23:59:20
【问题描述】:

我正在尝试使用 ionic 框架和 php 开发移动应用程序。我的问题是我必须显示所有注册用户。我的 php 代码将返回 id 和 name 作为 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);
             
     }}
    )]; 

 

【问题讨论】:

    标签: javascript php angularjs json ionic-framework


    【解决方案1】:

    首先,我可以看到您尝试直接从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 的函数会更好,因为您没有使用 javascript 原生函数将代码绑定到任何框架。因此,如果您需要重用这部分代码或重写应用程序,您也不必重写。 ;)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-10
      • 2017-02-21
      • 2011-05-20
      相关资源
      最近更新 更多