Javascript 如何迭代角度json对象
我已经创建了一个nodejs应用程序,它将读取我的mongo Db中的所有数据库。我可以在控制台中执行此操作。但是,当我尝试将数据解析为json对象并将其显示到屏幕上时,我无法获得要显示的信息。希望有人能帮我找出我做错了什么,或者告诉我我做错了什么。谢谢 app.jsJavascript 如何迭代角度json对象,javascript,json,angularjs,node.js,mongodb,Javascript,Json,Angularjs,Node.js,Mongodb,我已经创建了一个nodejs应用程序,它将读取我的mongo Db中的所有数据库。我可以在控制台中执行此操作。但是,当我尝试将数据解析为json对象并将其显示到屏幕上时,我无法获得要显示的信息。希望有人能帮我找出我做错了什么,或者告诉我我做错了什么。谢谢 app.js // listen for get request, aka transfers the info in mongo to client app.get('/databases', function (req, res) {
// listen for get request, aka transfers the info in mongo to client
app.get('/databases', function (req, res) {
console.log("-- recived GET request --");
db.open(function(err, db) {
// Use the admin database for the operation
var adminDb = db.admin();
// List all the available databases
adminDb.listDatabases(function(err, dbs) {
assert.equal(null, err);
assert.ok(dbs.databases.length > 0);
console.log(dbs);
res.json(dbs);
db.close();
});
});
});
controller.js
var app = angular.module('myApp', []);
app.controller('customersCtrl', function($scope, $http) {
console.log("controller connected");
function refresh(){
// create route
$http.get('/databases').success(function(response) {
console.log("recived data requested");
$scope.databases = response;
});
}
// Call refresh to get req
refresh();
});// Controller
index.html
<body>
<div ng-app="myApp" ng-controller="customersCtrl">
<ul>
<li ng-repeat="contact in databases">
{{ contact }}
</li>
</ul>
<button type="button" onclick="hitMe()">Click Me!</button>
</div>
</body>
-
{{contact}}
点击我!
看起来您需要遍历datebase.databases对象。 只要$scope.databases是:
{
databases: [],
totalSize: ..,
..
}
您需要在页面上重复以下步骤:
<ul>
<li ng-repeat="contact in databases.databases">
{{ contact.name }}
</li>
</ul>
-
{{contact.name}
正如Andrew所说,在html代码中尝试contact.name
“接触”本身就是整个对象。您必须指定要使用的对象的哪一部分。您是否尝试添加另一个ng repeat,然后通过contract.names或contact.sizeofc进行重复?您可以一步一步地查看代码并查看您的响应如何?在相同的情况下,您需要从response获取数据属性:$scope.databases=response.data;(-response object)是的,安德鲁,我试过了。没用。普诺夫有正确的答案,谢谢。这起作用了。“databases.databases”是做什么的?我刚刚注意到,在您的databases($scope.databases=response)对象中,当您对其进行控制台时,您有“databases”字段。只有此字段包含联系人数组