首页 文章

将值从Server传递给Client |节点到Angular

提问于
浏览
-1

我对MEAN很新 . 我正在尝试从Node向我的Angular Controller发送数据集 . 但是,角度控制器未接收到正确的信息并导致无效 .

我的观点叫 booklist.jade

这是我的服务器端(Node JS)

router.get('/thelist', function(req, res){

    res.render('booklist');
  });

router.get('/thelist/data', function(req, res){

   .
   .
   .

    // Find all books
    collection.find({}).toArray(function (err, result) {
      if (err) {
        res.send(err);
      } else if (result.length) {
        res.json({booklist : result});
      } else {
        res.send('No documents found');
      }
      //Close connection
      db.close();
    });
  }
  });
});

这是我的客户端(Angular JS)

function booksController($scope)
{
    $http.get("http://localhost:3000/thelist/data").success(function( data ) {
    $scope.book=10; //THIS WORKS
    $scope.table= data;
});
}

基本上,我希望$ scope.table从我的服务器获取所有数据 . 关于为什么失败的任何想法?

更新:在尝试一些控制台日志检查时,我发现Angular Controller没有调用请求 router.get('/thelist/data', function(req, res) .

2 回答

  • 0

    res.json({booklist : result});

    根据您的代码,您将在 booklist 属性中发送结果

    因此在阅读时你应该说 $scope.table= data.booklist;

  • 0

    我的客户端控制器错了 . 这是正确的 .

    app.controller('booksController',['$scope','$http',
        function($scope,$http) {
            $http.get("http://localhost:3000/thelist/data").success(function( data ) {
                $scope.book=data;
    
            });
        }]);
    

相关问题