【问题标题】:issues when creating a basic server using nodejs使用 nodejs 创建基本服务器时的问题
【发布时间】:2015-07-17 15:03:20
【问题描述】:

(我遵循教程的所有内容)

我尝试使用nodejs在我的电脑中创建一个基本服务器,代码如下:

var http = require('http');

function onRequest(request, response){
console.log("A user made a request" + request.url);
response.write(200, {"Context-Type":"text/plain"});
response.write("Here is data");
response.end();
}

http.createServer(onRequest).listen(8888);
console.log("Server is now running.....");

然后我去网站输入localhost:8888,结果如下:

C:\Program Files\nodejs\nodejs>node server.js 服务器现在正在运行...... 用户提出请求/ _http_outgoing.js:433 throw new TypeError('第一个参数必须是字符串或缓冲区'); ^ TypeError:第一个参数必须是字符串或缓冲区 在 ServerResponse.OutgoingMessage.write (_http_outgoing.js:433:11) 在 Server.onRequest (C:\Program Files\nodejs\nodejs\server.js:5:11) 在 Server.emit (events.js:110:17) 在 HTTPParser.parserOnIncoming [作为 onIncoming] (_http_server.js:491:12) 在 HTTPParser.parserOnHeadersComplete (_http_common.js:111:23) 在 Socket.socketOnData (_http_server.js:343:22) 在 Socket.emit (events.js:107:17) 在 readableAddChunk (_stream_readable.js:163:16) 在 Socket.Readable.push (_stream_readable.js:126:10) 在 TCP.onread (net.js:538:20)

网页说网页不可用。 怎么了?

【问题讨论】:

    标签: node.js server


    【解决方案1】:

    你没有正确写头,你应该使用http方法writeHead。像这样:

    var http = require('http');
    
    function onRequest(request, response){
        console.log("A user made a request" + request.url);
    
        //Here is your mistake, you have "write" instead of "writeHead" and I think you should use "Content" instead of "Context"
        response.writeHead(200, {"Content-Type":"text/plain"});
    
        response.write("Here is data");
        response.end();
    }
    
    http.createServer(onRequest).listen(8888);
    console.log("Server is now running.....");
    

    【讨论】:

      猜你喜欢
      • 2016-11-16
      • 2019-04-13
      • 1970-01-01
      • 1970-01-01
      • 2017-10-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多