如何从“app.get”传递数据到客户端?

时间:2014-06-26 07:00:34

标签: node.js express

如何从“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”))

如何将登录结果传递给客户端?

1 个答案:

答案 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();
        });
};