查询数据节点角度

时间:2015-07-16 13:24:18

标签: angularjs node.js mongoose mean-stack

嗨,我是MEAN堆栈的新手,所以任何人都可以详细回答我。

我从视图(角度)发送一个简单的json到NODE:

查看代码:

<select class="btn btn-success" data-ng-model="difficulty" data-ng-options="type for type in difficultydropdown"></select>
<select class="btn btn-success" data-ng-model="type" data-ng-options="type for type in typedropdown"></select>
<button class="btn btn-success" ng-click="query_data(difficulty,type)">Query</button>

控制器代码:

app.factory('resultService', function($resource){
  return $resource('/api/results');
});

app.controller('resultsController', function(resultService, $scope, $rootScope){
  $scope.difficultydropdown =["","Level 1","Level 2","Level 3","Level 4","Level 5"];
  $scope.typedropdown =["","Single","Multiple"];
 $scope.query_data = function (difficulty,type){
    $scope.query = {difficulty : difficulty, type :type };
    resultService.get($scope.query);
  };
});

节点代码:

  router.route('/results').get(function(req,res){
    console.log(req.query);
    Question.find(req.query).exec(function(err, questions){
        if(err){
            console.error(err.stack);
            return res.status(500).send(err);
        }
        else
        {
            console.log(questions);
            return res.status(200).send(questions);
        }
    });
});

这将在终端上打印查询所需的结果。

现在我想知道的是如何在客户端接收这些数据。

1 个答案:

答案 0 :(得分:0)

重要的是要意识到调用$ resource对象方法会立即返回一个空引用(对象或数组,具体取决于isArray)。从服务器返回数据后,将使用实际数据填充现有引用。

您可以在$ recourse文档https://docs.angularjs.org/api/ngResource/service/ $ resource

中阅读更多内容

所以在你的控制器中:

$scope.results = resultService.get($scope.query);

在你看来:

<pre>{{results | json}}</pre>

在背景中,当满足$ http承诺时,angular将填充变量中的实际数据!