我是Node JS的新手,并尝试创建自己的网络服务器来在我的linux服务器(Raspberry Pi)上托管我的基本网站。以下代码显示index.html,但不显示users.html文件。请指出我做错了什么..我在这个文件夹中有index.html和users.html文件。 (旁注:我知道CSS&还没有实现;我只是在编写这个网络服务器的开始)。
var http = require('http');
var fs = require('fs');
//404 response
function send404Response(response){
response.writeHead(404, {"Content-Type": "text/plain"});
response.write("Error 404: Page not found!");
response.end();
}
//Handles user request
function onRequest(request, response){
if(request.method == 'GET' && request.url == '/'){
response.writeHead(200, {"Content-Type": "text/html"});
fs.createReadStream("./index.html").pipe(response);
}else if(request.method == 'Get' && request.url == '/users'){
response.writeHead(200, {"Content-Type": "text/html"});
fs.createReadStream("./users.html").pipe(response);
}
else{
send404Response(response);
}
}
http.createServer(onRequest).listen(8884);
console.log("Server is running...");
答案 0 :(得分:0)
第二个if语句中有拼写错误。
else if(request.method == 'Get' && request.url == '/users'){
应该是
else if(request.method == 'GET' && request.url == '/users'){
HTTP方法总是大写,您的服务器正在看到“GET”方法。该URL与第一个IF语句不匹配,并且该方法在第二个IF语句中不匹配,因此它会转到else,并为您提供404未找到。