我的節點應用程序的路由文件夾中有兩個文件,例如fetchCity.js和addNewDevice.js。我想將請求參數從addNewDevice.js轉發到fetchCity.js並在addNewDevice.js文件中處理響應。我試過下面的代碼,但沒有工作。NodeJS中的請求轉發
var express = require('express');
module.exports = function(app){
var cors = require('cors');
var coptions = {
"origin": "*",
"methods": "GET,HEAD,PUT,POST,OPTIONS",
"preflightContinue": false,
"allowedHeaders":['Content-Type']
}
var db = require('./dbclient');
var bodyParser = require('body-parser');
app.use(cors(coptions));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended:true}));
app.post('/newBinDevice', function(req, res, next) {
var did = req.body.deviceid;
var sver = req.body.swver;
var city = req.body.city;
var circle = req.body.circle;
app.post('/fetchCityArea',function(req,res){
console.log('Response from fetchCityArea is ' + JSON.stringify(res));
});
});
}
我認爲它會重定向用戶和響應將被髮送給用戶。用戶可以隨時向/ fetchCityArea發送請求。但是,當他們向/ addNewDevice發送請求時,我需要在/ addNewDevice中處理/ fetchCityArea的響應。如果我錯了,請糾正我。因爲在服務器代碼中使用重定向方法後,我沒有找到如何獲取響應對象。 –
是的,你是對的。你是否也在app.post處理程序中處理請求? –
是的,我想從/ addNewDevice發送請求到/ fetchCityArea,並且在收到響應後,我想在/ addNewDevice中進一步處理它。預期的行爲與Java中的RequestDispatcher.forward方法類似。 –