AngularJS 1.6.9无法在表格中显示JSON数据求助
嘿,我来帮你搞定这个AngularJS 1.6.9表格显示JSON数据的问题!从你给出的代码片段来看,大概率是控制器定义、数据绑定或者ng-repeat的使用有疏漏,我给你一套完整的可运行方案,你可以对照着调整你的代码:
完整解决方案步骤
1. 完善你的index.html代码
首先要确保HTML结构完整,ng-app和ng-controller关联正确,表格里用ng-repeat遍历数据:
<!DOCTYPE html> <html ng-app="mijnApp"> <head> <title>Een eenvoudige service</title> <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js"></script> <script src="service.js"></script> <link rel="stylesheet" href="style.css"> </head> <body ng-controller="mijnController"> <h2>JSON数据表格展示</h2> <table border="1"> <thead> <tr> <!-- 这里的表头字段可以根据你实际的JSON结构调整 --> <th>ID</th> <th>Naam</th> <th>E-mail</th> </tr> </thead> <tbody> <!-- 核心:用ng-repeat遍历$scope中的数据数组,生成表格行 --> <tr ng-repeat="item in jsonData"> <td>{{item.id}}</td> <td>{{item.name}}</td> <td>{{item.email}}</td> </tr> </tbody> </table> </body> </html>
2. 正确编写service.js中的模块和控制器
这一步是关键,要确保模块和控制器正确注册,并且把JSON数据绑定到$scope上(不管是静态数据还是从后端获取):
// service.js angular.module('mijnApp', []) .controller('mijnController', function($scope, $http) { // 方案1:静态JSON数据(适合快速测试) $scope.jsonData = [ {id: 1, name: "Jasper Janssen", email: "jasper@example.com"}, {id: 2, name: "Anna Smith", email: "anna@example.com"}, {id: 3, name: "Bob Jones", email: "bob@example.com"} ]; // 方案2:从远程API获取JSON数据(如果你的数据是后端提供的) // 取消注释下面的代码,替换成你的API地址即可 // $http.get('your-api-endpoint.json') // .then(function(response) { // // 把获取到的JSON数据绑定到$scope // $scope.jsonData = response.data; // }) // .catch(function(error) { // // 捕获错误,方便调试 // console.error('加载数据失败:', error); // }); });
3. 常见坑点排查
如果你按上面的代码还是不行,检查这几个地方:
- 模块/控制器名称要完全一致:
ng-app="mijnApp"和angular.module('mijnApp', [])的名称必须一模一样,AngularJS对大小写敏感! - 检查JSON结构:如果你的JSON是单个对象而不是数组,
ng-repeat无法直接遍历,需要用Object.values(yourObject)转换成数组再绑定。 - 浏览器控制台看报错:按F12打开开发者工具,看Console面板有没有404(比如service.js路径错了)或者语法错误,这是最快定位问题的方法。
ng-repeat的位置要对:必须放在<tr>标签上,不能直接放在<table>或<tbody>上,否则无法生成正确的表格行。
内容的提问来源于stack exchange,提问作者Jasper Janssen
相关产品推荐
相关产品推荐

