我正在使用这个 Controller 来使用我的服务然后调用我的 router.get,我想在从 mongodb 获取请求时使用 userObject.blood_component 作为 searchFinder
Controller :
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的时候,是undefined,这里有什么问题
最佳答案
您不能在 GET 请求中发送数据,您必须将其作为查询字符串或查询参数在 URL 中传递。
您必须进行以下更改
Controller
Bloodstock.getStocks('find me').then(function(data) {});
服务
bloodstockFactory.getStocks = function(searchString) {
return $http.get('/api/getStocks/?search=' + searchString, userObject);
};
现在在 API 中,您可以使用 req.query.search
获取搜索字符串
关于node.js - 使用对象作为在 router.get 中查找值的键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55169222/