搭建web服务器

  • app.js

    // 1.导入http模块
    let http = require("http");
    // 导入quertString,将参数转换为对象,方便处理
    let quertString = require("querystring");
    // 2.通过http模块创建服务对象
    const server = http.createServer();
    // 3.通过服务对象监听用户请求
    server.on('request', (req, res) => {
        // 1.获取请求类型
        let method = req.method.toLowerCase();
        // 2.获取请求路径
        let url = req.url;
        let path = url.split("?")[0];
        let params = '';
        // 3.获取请求参数
        if (method === "get") {
            // 4.处理get请求参数
            params = url.split("?")[1];
            params = quertString.parse(params);
            // 5.处理路由
            if (path.startsWith('/login')) {
                console.log('get处理登录请求', params);
            } else if (path.startsWith('/register')) {
                console.log('get处理注册请求', params);
            }
        } else if (method === 'post') {
            // 4.处理post请求参数
            req.on("data", (chunk) => {
                // 每次只能拿到一部分数据
                params += chunk;
            });
            req.on("end", () => {
                // 这里才能拿到完整的数据
                params = quertString.parse(params);
                // 5.处理路由
                if (path.startsWith('/login')) {
                    console.log('post处理登录请求', params);
                } else if (path.startsWith('/register')) {
                    console.log('post处理注册请求', params);
                }
            });
        }
    }).listen(3000);
  • 请求——浏览器输入:http://127.0.0.1:3000/login.html?name=nhw
  • 响应——终端显示:get处理登录请求 [Object: null prototype] { name: 'nhw' }

最后修改:2021 年 05 月 15 日 12 : 41 AM
如果觉得我的文章对你有用,请随意赞赏!