【问题标题】:Unable to bind json data to a table using angularjs无法使用 angularjs 将 json 数据绑定到表
【发布时间】:2016-10-25 09:35:02
【问题描述】:

嗨,我正在尝试将 JSON 对象数据绑定到表。我的问题是我能够绑定整个 json 对象 {{metric}} 但未能加载 json 对象的每个属性,即{ {metric.EmpId}}。 最后从我的观察中我发现转换后的 json 对象直接分配给

$scope.Employees="雇员": [ {“EmpId”:“4”, “姓名”:“克里斯”, “性别男”, “电话”: [ { "_Type": "家", “__text”:“564-555-0122” }, { "_Type": "工作", “__text”:“442-555-0154” } ], “地址”: { “街”:“124 Kutbay”, “城市”:“蒙塔拉”, “州”:“加州”, “邮编”:“94037”, “国家”:“美国” } } ] }

输出按预期工作,但是当我分配直接结果时

即$scope.Employees=response;它不工作可能是什么问题

    <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.2/jquery.min.js"></script>
    <script src="xml2json.js"></script>
     <script>
                var app = angular.module('httpApp', []);
                app.controller('httpController', function ($scope, $http) {
                    $http.get("File1.xml",
                            {
                                transformResponse: function (cnv) {
                                    var x2js = new X2JS();
                                    var aftCnv = x2js.xml_str2json(cnv);
                                    return aftCnv;
                                }
                            })
                    .success(function (response) {
                        console.log(response);
                        $scope.Employees = response;
                        console.log($scope.Employees);
                    });
                });
            </script>
 <div>
            <div ng-app="httpApp" ng-controller="httpController">
                <div ng-repeat="metric in Employees">

                    {{ metric}}
                    <br />
                    <br />
                    <table>
                        <tr ng-repeat="metric in Employees">
                            {{metric}}
                             <td ng-repeat="cell in metric">{{cell}}</td>
                            <td>{{cell.EmpId}}</td>
                            <td>{{metric.Name}}</td>
                        </tr>
                    </table>
                </div>
            </div>

【问题讨论】:

  • 你能显示json本身吗?
  • 您的员工反应如何?
  • 您是否在 console.log 中获取数据?
  • 请提供json对象结构。
  • 你能给我们看看JSON吗

标签: javascript jquery angularjs json xml


【解决方案1】:

假设您的json 具有以下格式:

$scope.Employees = {
    "Employee": [
        {
            "EmpId": 1,
            "Name": "Sam"
        },
        {
            "EmpId": 2,
            "Name": "Lucy"
        }
    ]
};

您可能想要这样做:

<div ng-repeat="employeeList in Employees">
    <table>
        <tr ng-repeat="employee in employeeList">
             <td>{{employee.EmpId}}</td>
             <td>{{employee.Name}}</td>
        </tr>
    </table>
</div>

【讨论】:

  • 我尝试了同样的方法,但它不起作用。实际上,我的 xml 数据正在转换为 json,看起来像上图整个 json 对象可以检索,但特定细节不能是 EmpId、Name 等
  • 你的 json 是字符串吗?
  • 我在jsoneditoronline.org 上检查了你的 json,它有一些未知的额外字符。删除它们后,我让它在我的机器上工作。
  • 刚刚在 jsoneditoronline.org 上检查了我的 json,它工作正常,json 对象没有问题。ng-repeat 出现了一些问题,我的 JSon 是一个对象
  • 感谢您继续支持检查 jsfiddle:jsfiddle.net/a5khgLeL/2 当我将 json 对象放入其工作正常但错误在哪里。“我希望 json 对象没有问题”
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-09-12
  • 1970-01-01
  • 2013-03-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-12
相关资源
最近更新 更多