我正在尝试使用数据库中的数据填充基本角度应用程序。示例与w3schools中的示例类似。这是到目前为止的代码:
<div ng-app="myApp" ng-controller="customersCtrl">
<table>
<tr ng-repeat="x in names">
<td>{{ x.id }}</td>
<td>{{ x.appid }}</td>
</tr>
</table>
</div>
<script>
var app = angular.module('myApp', []);
app.controller('customersCtrl', function($scope, $http) {
$http.get("http://localhost:3000/test")
.then(function (response) {$scope.names = response.data.records;});
});
</script>
但是,没有检索到任何数据。我从http://localhost:3000/test得到的回复如下:
[
{ “ID”:1, “APPID”:1},{ “ID”:2 “APPID”:1},{ “ID”:7, “APPID”:1}, { “ID”:20, “APPID”:1},{ “ID”:38, “APPID”:1},{ “ID”:39, “APPID”:1},{ “ID”:40,” APPID “:1},{” ID “:41,” APPID “:3},{” ID “:44,” APPID “:3},{” ID “:70,” APPID “:2},{” ID “:71,” APPID “:2},{” ID “:72,” APPID“:2}
我从浏览器和邮递员那里检查了它。如果我用上面的响应替换response.data.records,该表将显示响应中的值。
我知道我一定是弄乱了什么,但不知怎的,我错过了它。我最好的猜测是响应的格式。
答案 0 :(得分:2)
根据您显示的数据,您的问题应在替换时解决
$scope.names = response.data.records;
带
$scope.names = response.data;
因为您的示例响应只是一个数组而没有包含在record
属性中。
答案 1 :(得分:2)
您需要从.records
respnse.data
$http.get("http://localhost:3000/test")
.then(function (response) {$scope.names = response.data;});
由于您直接接收数组,只需将响应中的数组直接分配给$scope.names
。