我正在制作一个带有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上运行代码。
我做错了什么?
谢谢, 萨姆。
答案 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