我正在使用一个使用Mongo作为DB和node.js的应用程序。我创建了一个函数,用于接收名为 orderedBy 的参数,但是我的console.log会打印一个未定义的参数。为什么会这样?这是代码。
exports.showAll = function(orderedBy, callback){
var query = {orderedBy: orderedBy}
console.log("Orderer by ===== "+ orderedBy);
var array = models.Orden.find(query).lean().exec(function(err, orders) {
if( orders.length > 0) {
callback({'array' : orders});
//callback({'array' : JSON.stringify(orders)});
}
else {
callback({'error' : "You don't have any orders"});
}
});}
在这里我称之为showAll
app.post('/api/showAll', function(req, res) {
var orderedBy = req.body.orderedBy;
ordenes.showAll(orderedBy, function(found){
console.log(found);
res.json(found);
});
});
基本上,我想要的是获取一个ID并显示该人有多少订单。但我的回答总是#34;你没有任何订单"主要是因为我的控制台日志,显示orderedBy未定义。
是的,我确保我发送了正确的ID,并使用Postman模拟它
答案 0 :(得分:0)
您的req
请求对象有两个名为
查询:当您发送请求时,(无论方法如何)将由queryString填充。例如http://localhost:3000?orderBy=AAAA
在您的服务器端,您可以req.orderBy === 'AAAA'
答案 1 :(得分:0)
认为这是我的功能错了,但这是我的参数。我愚蠢地发送表格数据,而不是邮递员中的x-www-form-urlencoded。它永远不会被打破,谢谢。