使用object作为在router.get中查找值的键

问题描述 投票:2回答:1

我正在使用此控制器来使用我的服务,然后调用我的router.get,我想在从mongodb获取请求时使用userObject.blood_component作为searchFinder

控制器:

var userObject = {}; 
userObject.blood_component = "find me";
Bloodstock.getStocks(userObject).then(function(data) {});

然后调用api路由:

服务:

bloodstockFactory.getStocks = function(userObject) {
   return $http.get('/api/getStocks/', userObject);
};

api.js:

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

        var newBloodneeded = req.body.blood_component; 
        console.log("the component is " + newBloodneeded ) //undefined
        Bloodstock.find({$and: [ { blood_component:newBloodneeded}]},function(err, bloodstocks) {    
        res.json({ success: true, bloodstocks: bloodstocks });

        });   
    });

但是当它进入api时,它是未定义的,这里有什么问题

node.js angularjs mongodb mean-stack
1个回答
1
投票

您无法在GET请求中发送数据,您必须将其作为查询字符串或查询参数在URL中传递。

您将不得不进行以下更改

调节器

Bloodstock.getStocks('find me').then(function(data) {});

服务

bloodstockFactory.getStocks = function(searchString) {
   return $http.get('/api/getStocks/?search=' + searchString, userObject);
};

现在在API中,您可以使用req.query.search获取搜索字符串

© www.soinside.com 2019 - 2024. All rights reserved.