繁体   English   中英

函数正在获取未定义的参数Node.js

[英]Function is getting undefined parameter Node.js

我正在使用将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并显示该人有多少订单。 但是我的回答总是“您没有任何订单”,主要是因为我的控制台日志显示,orderedBy是未定义的。

是的,我确保我发送的是正确的ID,并用Postman模拟

您的req请求对象都要求两个属性

  • 正文:当您发送POST / PUT请求时,请求的正文将被填充
  • 查询:当您发送请求时(无论方法如何)都将由queryString填充。 例如http:// localhost:3000?orderBy = AAAA

    在您的服务器端,您可以req.orderBy === 'AAAA'

以为是我的功能错了,但是那是我的参数。 我愚蠢地发送了表单数据,而不是用邮递员发送x-www-form-urlencoded。 从来没有坏过,谢谢。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM