【Node.js练习】根据不同的url响应不同的html内容

72 阅读1分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第19天,点击查看活动详情

  核心实现步骤

  1. 获取请求的url地址
  2. 设置默认的相应内容为404 Not found
  3. 判断用户请求的是否为/或/index.html 返回 首页
  4. 判断用户请求的是否为/about.html 返回 关于页面
  5. 设置Content-Type响应头,防止中文乱码
  6. 调用res.end()方法响应给客户端

 实现代码

const http = require('http');
const server = http.createServer();

server.on('request', function (res, req) {
    //获取请求的url地址
    const url = res.url;
    //设置其他网址恢复 404 Not Found
    let content = '404 Not Found';
    //访问/或者/index.html则返回首页
    //访问about.html则返回关于我们
    if (url === '/' || url === '/index.html') {
        content = '<h1>首页</h1>'
    } else if (url === '/about.html') {
        content = '<h1>关于页面</h1>'
    }
    //设置响应头
    req.setHeader('Content-Type', 'text/html;charset=utf-8');
    //发送消息到客户端
    req.end(content);
})
server.listen(8080, () => {
    console.log('server running at http://127.0.0.1:8080');
})

​编辑

运行之后点击链接进去页面

​编辑

 进去之后默认的就是首页也就是/当我们再地址栏输入index.html同样也是首页

我们改成about.html试一试

​编辑

 输入其他页面则是404

​编辑

​​

  核心实现步骤

  1. 获取请求的url地址
  2. 设置默认的相应内容为404 Not found
  3. 判断用户请求的是否为/或/index.html 返回 首页
  4. 判断用户请求的是否为/about.html 返回 关于页面
  5. 设置Content-Type响应头,防止中文乱码
  6. 调用res.end()方法响应给客户端

 实现代码

const http = require('http');
const server = http.createServer();

server.on('request', function (res, req) {
    //获取请求的url地址
    const url = res.url;
    //设置其他网址恢复 404 Not Found
    let content = '404 Not Found';
    //访问/或者/index.html则返回首页
    //访问about.html则返回关于我们
    if (url === '/' || url === '/index.html') {
        content = '<h1>首页</h1>'
    } else if (url === '/about.html') {
        content = '<h1>关于页面</h1>'
    }
    //设置响应头
    req.setHeader('Content-Type', 'text/html;charset=utf-8');
    //发送消息到客户端
    req.end(content);
})
server.listen(8080, () => {
    console.log('server running at http://127.0.0.1:8080');
})

​编辑

运行之后点击链接进去页面

​编辑

 进去之后默认的就是首页也就是/当我们再地址栏输入index.html同样也是首页

我们改成about.html试一试

​编辑

 输入其他页面则是404

​编辑