2016-04-24 14 views
0

DBとnode.jsとしてMongoを使用するアプリケーションで作業しています。 orderedByという名前のパラメータを受け取るための関数を作成しましたが、私のconsole.logは未定義のパラメータを出力します。なぜこうなった?ここにコードがあります。機能が未定義のパラメータNode.js

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"}); 
    } 
});} 

そして、ここで私は

app.post('/api/showAll', function(req, res) { 
     var orderedBy = req.body.orderedBy; 
     ordenes.showAll(orderedBy, function(found){ 
      console.log(found); 
      res.json(found); 
     }); 
}); 

SHOWALLを呼び出す基本的に、私が欲しいのIDを取得し、人が持っているどのように多くの注文を示しています。しかし、私の応答は常に私がコンソールログを使っているので、「あなたは注文はありません」というのは、orderedByが定義されていないことを示しています。

そして、はい、私はあなたのreq要求オブジェクトがポストマン

+0

'showAll'と呼ばれるコードを表示します – alexmac

+0

が追加されました – Alan

+1

' console.log(orderedBy) 'をルータに追加して、bodyにそのパラメータが含まれていることを確認してください。 – alexmac

答えて

0

でそれをシミュレートし、正しいIDを送信していてください、2つのプロパティが

  • 体と呼ばれている作っています:あなたはPOST/PUTを送信リクエストは本文の本文に入力されます
  • query:リクエストを送信すると、queryStringによって(メソッドは問題ありません)問合せが生成されます。サーバー側の例http://localhost:3000?orderBy=AAAA

    あなたは

0

req.orderBy === 'AAAA'は、それが私の関数が間違っていると思ったことができますが、それは私のパラメータでした。私は、郵便配達員にx-www-form-urlencodedの代わりにフォームデータを愚かに送信していました。ありがとうございました。

関連する問題