1

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

代码:

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 时的输出:

'/update' not found.

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

我做错了什么?

谢谢,山姆。

4

1 回答 1

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

于 2013-07-29T12:45:29.090 回答