nodejs的问题

时间:2013-07-29 12:31:47

标签: javascript node.js cloud9-ide

我正在制作一个带有nodejs的简单服务器进行练习。 当我运行它时,服务器只记录一次请求的URL(它应该在每次请求时都这样做)。 if语句中包含的代码永远不会运行,即使请求是'/ update'。

代码:

var html = require('http');

score = 0;

var s = html.createServer(
    function(request, response)
    {
        console.log('Request for \'' + request.url + '\' recieved.');
        if (request.url === '/update')
        {
            score++;
            response.writeHead(200, { 'Content-Type': 'text/plain' });
            response.end(score.toString());
        }
        else
        {
            response.writeHead(404, { 'Content-Type': 'text/plain' });
            response.end('\'' + request.url + '\' not found.');
        }
    }
);
s.listen(process.env.PORT, process.env.IP);

请求/更新时的输出:

'/update' not found.

我在Cloud 9在线IDE上运行代码。

我做错了什么?

谢谢, 萨姆。

1 个答案:

答案 0 :(得分:1)

试试这个它会起作用

 var html = require('http');

 score = 0;

var s = html.createServer(
function(request, response)
{
    console.log('Request for \'' + request.url + '\' recieved.');
    if (request.url === '/')
    {
        score++;
        response.writeHead(200, { 'Content-Type': 'text/plain' });
        response.end(score.toString());
    }
    else
    {
        response.writeHead(404, { 'Content-Type': 'text/plain' });
        response.end('\'' + request.url + '\' not found.');
    }
    }
  );
s.listen(process.env.PORT, process.env.IP);

因为request.url正在记录为'/'

输出 1