2017-05-30 10 views
0

私は多くの場所で角度で呼ばれる多くのコードであるpriceControllerノードを持っています。ノードコントローラからノードコントローラを呼び出し、データの送信方法は?

今、私の代わりにそれを行うには、角に移動すること、直接priceControllerを呼び出すしたいと思いますfrontpageControllerと呼ばれる別のノードを持っています。

しかし、私はどのようにデータを正しい方法(角度の簡単な原因からそのhttpのポスト)とpriceControllerの方法を理解することはできません。

にはどうすればfrontpageControllerからpriceControllerを呼び出し、それが(propertyID)を必要とするデータを送信しますか?

これは

var mongoose = require('mongoose'); 
exports.getPrice = function(req, res) { 
    console.log("priceController received: " + JSON.stringify(req.body, null, 4)); 
    console.log("propertyID: " +req.body.propertyID); 
    ...lots of code... 
    res.json({error:false,priceFindResult}) 
    console.log("Sent data back to caller"); 
} 

priceControllerであり、これは

var mongoose = require('mongoose'); 
exports.getFrontpage = function(req, res) { 

    // 
    // Call the priceController with the PropertyID 
    // 
    var priceController = require('./priceController'); 
    var priceModel = require('../models/priceModel'); 
    var priceTable = mongoose.model('priceModel'); 
    var callPriceController = function() { 
     return new Promise((resolve, reject) => { 
     console.log("=====START callPriceController=====") 
     priceController.getPrice(
     [{ "propertyID": "WAT-606" }] 
     ,function(err, data) { 
      if (!err) { 
       console.log("callPriceController Result: " + JSON.stringify(data, null, 4)); 
       console.log("=====RESOLVE callPriceController=====") 
       resolve(data); 
      } else { 
       reject(new Error('ERR callPriceController : ' + err)); 
      }; 
     }); 
    })}; 
frontpageController
ある

だから見た目

=====START callPriceController===== 
priceController received: undefined 
getFrontpage ERR: TypeError: Cannot read property 'propertyID' of undefined 

を次のように私のノードのコンソールに結果があります私は実際にpriceControllerと呼んでいますが、ここで送られたpropertyIDを取得することはできません。

どうすればいいですか?

答えて

0

あなたがここで何をしようとしているのか正確には分かりませんが、関数getPriceは要求と応答オブジェクトと思われる引数reqとresをとります。 getPriceに電話すると、配列と関数が渡されます。配列にはプロパティーbodyがないため、req.bodyは未定義ですので、req.body(この場合はpropertyId)のプロパティにアクセスしようとすると、TypeErrorがスローされます。あなたがその点を過ぎても、後でres.jsonに電話しようとしたときに、そのメソッドを持たない関数を渡しているのでエラーになります。

reqとresオブジェクトをgetPriceに渡すことはできますか?

+0

ああはい - あなたは正しいです、私は体を解析する必要があります。あなたはどうしますか? – torbenrudgaard

+0

priceController.getPrice( \t \t {body}:{"propertyID": "WAT-606"}} ' - しかし、priceControllerは「res」が存在しないと訴えるようになりましたデータ 'res.json({error:false、priceFindResult})を返そうとします。 – torbenrudgaard

関連する問題