ノードアプリケーションのルートフォルダに、fetchCity.jsやaddNewDevice.jsのような2つのファイルがあります。 addNewDevice.jsのリクエストパラメータをfetchCity.jsに転送し、addNewDevice.jsファイルのレスポンスを処理したいとします。私は次のコードを試したが動作していない。NodeJSの転送要求
app.post('/fetchCityArea',function(req,res){
console.log('Response from fetchCityArea is ' + JSON.stringify(res));
});
使用:代わりの
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にリクエストを送るとき、私は/ fetchCityAreaの応答が/ addNewDeviceで処理される必要があります。もし私が間違っていたら、私を訂正してくださいリダイレクトメソッドをサーバーコードで使用した後にレスポンスオブジェクトを取得する方法が見つかりませんでした。 –
はい、あなたは正しいです。 app.postハンドラ自体でもリクエストの処理を行っていますか? –
はい、/ addNewDeviceから/ fetchCityAreaへリクエストを送信したいと思います。レスポンスを受け取ったら、それをさらに/ addNewDeviceで処理したいと思います。予想される動作は、JavaのRequestDispatcher.forwardメソッドに似ています。 –