Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/425.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何迭代角度json对象_Javascript_Json_Angularjs_Node.js_Mongodb - Fatal编程技术网

Javascript 如何迭代角度json对象

Javascript 如何迭代角度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) {

我已经创建了一个nodejs应用程序,它将读取我的mongo Db中的所有数据库。我可以在控制台中执行此操作。但是,当我尝试将数据解析为json对象并将其显示到屏幕上时,我无法获得要显示的信息。希望有人能帮我找出我做错了什么,或者告诉我我做错了什么。谢谢

app.js

// 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”字段。只有此字段包含联系人数组