1

練習用にnodejsで簡単なサーバーを作っています。実行すると、サーバーはリクエストの URL を 1 回だけログに記録します (リクエストごとにログを記録する必要があります)。リクエストが '/update' であっても、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 に答える