为了账号安全,请及时绑定邮箱和手机立即绑定

新手请教代码逻辑问题

      fs.readFile(`${path}`, (err, data) => {

        if (err) {

          res.end("404")

        } else {

          res.end(data)

        }

      })

读取login文件怎么为什么要写在complete回调函数里面啊?前面不是要判断请求方式method是GET还是POST才会调用complete函数的吗?

正在回答

1 回答

我觉得这个没有什么可纠结吧,每个人可以自己的逻辑,老师讲的是他自己的逻辑,最终结果一样应该就行,比如我自己写的就跟老师的不同。重在理解吧

const http = require('http');
const fs = require('fs');
const querystring = require('querystring');

const registeredUserInfos = {};
http.createServer((req, resp) => {
    if (req.method == 'GET') {
        fs.readFile(`./${req.url}`, (err, data) => {
            if (err) {
                resp.writeHead(404);
                resp.end('Page not found.');
            } else {
                resp.end(data);
            }
        });
    } else if (req.method == 'POST') {
        let data = [];
        
        req.on('data', (chunk) => {
            data += chunk;
        });
        
        req.on('end', () => {
            let params = querystring.parse(data);
            if (params.action == 'reg') {
                if (registeredUserInfos[params.username]) {
                    resp.writeHead(500);
                    resp.end('Invalid user account, Please choose other to try.');
                else {
                    registeredUserInfos[params.username] = params;
                    resp.end('Registered successfully!');
                }
            } else if (params.action == 'login') {
                if (!registeredUserInfos[params.username]) {
                    resp.writeHead(500);
                    resp.end('Invalid user account, Please choose other to try.');
                } else {
                    let userinfo = registeredUserInfos[params.username];
                    if (params.password == userinfo.password) {
                        resp.end('Login successfully');
                    } else {
                        resp.end('Invalid user password, Please choose other to try.');
                    }
                }
            } else {
                resp.writeHead(500);
                resp.end('Invalid action, Please choose other to try.');
            }
        });
    }
}).listen(3000);


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

新手请教代码逻辑问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信