node.js(四)小结

用之前的内容写一个简单的注册登录

const http = require('http')
const urlLib = require('url')
const fs = require('fs')
const querystring = require('querystring')

var users = {} // {"name":"password"} 模拟数据库存储数据

var server = http.createServer(function (req, res) {
    // 解析数据
    var str = ''
    req.on('data', function (data) {
        str += str
    })
    req.on('end', function () {
        var obj = urlLib.parse(str, true);
        const url = obj.pathname
        const GET = obj.query
        const POST = querystring.parse(str)

        if (url == '/user') {
            //console.log(GET)
            switch (GET.act) {
                case 'reg':
                    //1、用戶是否存在
                    if (users[GET.user]) {
                        res.write('{"ok":false,"msg":"用戶已存在"}')
                    } else {
                        //2、插入
                        users[GET.user] = GET.pass
                        res.write('{"ok":true,"msg":"註冊成功"}')
                    }
                    break;
                case 'login':
                    //1、用戶是否存在
                    if (users[GET.user] == null) {
                        res.write('{"ok":false,"msg":"用戶不存在"}')
                        res.end();
                    } else if (users[GET.user] != GET.pass) {
                        res.write('{"ok":false,"msg":"用戶名或密碼有誤"}')
                        res.end();
                    } else {
                        res.write("{'ok':true,'msg':'登錄成功'}");
                    }
                    //2、檢查用戶密碼
                    break
                default:
                    res.write("{'ok':false,'msg':'未知的act'}")
            }
            res.end();
        } else { // 文件
            // 读取文件
            var file_name = './www/' + url
            fs.readFile(file_name, function (err, data) {
                if (err) {
                    res.write("404")
                } else {
                    res.write(data)
                }
                res.end()
            })
        }
    })

});

server.listen(8080)

 




    
    Title



用戶名:
密碼:

  

运行代码 node xxx.js

在浏览器输入http://localhost:8080/user.html

转载于:https://www.cnblogs.com/YAN-HUA/p/10893438.html

你可能感兴趣的:(node.js(四)小结)