没有在浏览器中得到任何响应

时间:2015-11-24 14:46:45

标签: node.js express

这是我的客户代码。

var express = require('express');
var url=require('url');
var app =express();
var fs=require('fs');

app.use(function(req,res,next){
    console.log(req.url,req.method);

    next();
});
app.get('/user/data',function(request,response)
{
    response.send("User1,User2");
    response.end();
});

var server=app.listen(7000);
console.log("started");

这是我向上述服务器发出请求的客户端代码。问题是上述服务器给出的响应即“User1,User2”将显示在控制台中,而不是显示在浏览器上。

var express=require('express');
var http=require('http');
var app=express();

var body="";
app.get('/data',function(req,res){
    var options=
    {
        'host':'localhost',
        'path':'/user/data',
        'port':'7000'
    }
    var call=function(response)
    {
        response.on('data',function(chunk)
        {
            body+=chunk;
        });
        response.on('end',function()
        {
            console.log(body);
            res.write(body);
        });

    }
    http.request(options,call).end();
});

app.listen(9000);
console.log("started");

2 个答案:

答案 0 :(得分:2)

替换

res.write(body);

使用

res.send(body);

或者

res.write(body);
res.end();

这不是该页面的唯一问题)但是这会让你开始。

答案 1 :(得分:0)

您可以使用request吗?

如果您在"客户端"中不需要console.log代码,你可以:

app.get('/data', function (req, res) {
  var options = {
    'host':'localhost',
    'path':'/user/data',
    'port':'7000'
  }

  request(options).pipe(res);
});