如何从“app.get”中将数据传递给客户端?
有2个服务器(正面,背面)
客户端连接到前端服务器
前台服务器后台服务器,后台服务器后台
当客户端登录前端服务器
时前台服务器将请求传递回后台服务器
返回服务器搜索登录来自DB的信息
搜索后,将服务器返回结果返回前端服务器
但是,因为前端服务器是http服务器
app.get ("/ login /: ID / Password), function (request, response) {
// send to login data to back server
// because I dont know DB result i can't response now by 'response' variable
};
当前端服务器收到登录结果时
代码超出了“app.get”
所以我无法访问响应变量 (如response.end(“result”))
如何将登录结果传递给客户端?
答案 0 :(得分:1)
您可以在response
对象的帮助下将您的回复传回客户端。
app.get("/ login /: ID / Password), function (request, response) {
// send login data back to client side
var loginData = {
name: 'admin',
password: 'admin'
}
console.log(loginData);
response.writeHead(200, {
'Content-Type': 'text/json'
});
response.write(loginData);
response.end();
};
已编辑的帖子:向另一个后台服务器发出请求
为此,您需要将request
node.js
模块添加到package.json
。
{
"dependencies": {
"request": "*"
}
}
现在,使用npm update
命令使用终端更新它。 request
模块现已添加到您的node_modules
文件夹中。
是时候打电话给你的后端服务器了。
app.get("/ login /: ID / Password), function (request, response) {
// import request module
var request = require("request");
request({
uri: '', // pass your url
method: "POST", // GET/POST
form: request.body // contains data (login/password) which you sent from client side
}, function(error, resp, body) {
console.log(body);
response.writeHead(200, {
'Content-Type': 'text/json'
});
response.write(body);
response.end();
});
};