NodeJS 即时通讯学习后端路由它的所有确定的第一次,但当我回去的第二次该网站无法达到

63lcw9qa  于 2023-08-04  发布在  Node.js
关注(0)|答案(1)|浏览(87)


的数据



如果我去主页,然后我去联系页面,我再回到主页,它说该网站无法访问

var http = require("http");

http
  .createServer(function (req, res) {
    console.log(req.url);
    const url = req.url;

    if (url === "/") {
      res.writeHead(200, { "Content-Type": "text/html" });
      res.write("<h1 style = color:red>this is home</h1> <p>marzzuk</p>");
      res.end();
    }

    if (url === "/contact") {
      res.writeHead(200, { "Content-Type": "text/html" });
      res.write("<h1 style = color:red>this is contact</h1>");
      res.end();
    } else {
      res.writeHead(404, { "Content-Type": "text/html" });
      res.write("<h1 style = color:red>404</h1>");
      res.end();
    }
  })
  .listen(8080);

字符串

col17t5w

col17t5w1#

这是一个简单的逻辑问题。
如果URL是/,则第一个ifelse条件都为真,后者试图在响应结束后写入响应。
隔离您的逻辑分支以避免服务器崩溃

switch (url) {
  case "/":
    res.writeHead(200, { "Content-Type": "text/html" });
    res.write(`<h1 style="color:red">this is home</h1> <p>marzzuk</p>`);
    return res.end();
  case "/contact":
    res.writeHead(200, { "Content-Type": "text/html" });
    res.write(`<h1 style="color:red">this is contact</h1>`);
    return res.end();
  default:
    res.writeHead(404, { "Content-Type": "text/html" });
    res.write(`<h1 style="color:red">404</h1>`);
    return res.end();
}

字符串

相关问题