Node.js的学习日记 简单的登录系统 node.js的简单登录系统

登录系统我做的是有两个html的文件,一个是注册,一个是登陆,通过对端口地址的url的解析的不同,让两个文件不同的切换,并把注册的信息保存起来,登录的时候进行对比,如果一直方可登录。

1.html代码

注册页面:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>注册页面</title>
    <style>
        .box{
            width:200px;
            height:150px;
            border: 1px solid #000;
        }
        .left-text{
            margin-bottom: 10px;
        }
    </style>
</head>
<body>
<div class="box">
    <form action="/post" method="post">
        <div class='left-text'>
            <sapn>用户名:</sapn>
            <input type="text" name="usename">
        </div>
        <div class="left-text">
            <span>密码:</span>
            <input type="password" name="password">
        </div>
        <div class="foot">
            <button type="submit">注册</button>
            <a href="/login">登录</a>   //这个是进入登录页面的一个跳转链接     
        </div>
    </form>
</div>
</body>
</html>
登录页面:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>登录页面</title>
    <style>
        .box{
            width:200px;
            height:150px;
            border: 1px solid #000;
        }
        .left-text{
            margin-bottom: 20px;
        }
    </style>
</head>
<body>
<div class="box">
    <form action="/login" method="post">
        <div class='left-text'>
            <sapn>用户名:</sapn>
            <input type="text" name="usename">
        </div>
        <div class="left-text">
            <span>密码:</span>
            <input type="password" name="password">
        </div>
        <div class="foot">
            <button type="submit">登录</button>
        </div>
    </form>
</div>
</body>
</html>
node.js的代码,首先引入各个模块

var http = require('http');  //http的模块;
var url = require('url');   //url模块;
var fs = require('fs');      //fs模块;
var querystring = require('querystring');//一个和参数相关的帮助类
然后创建服务,并解析端口的地址路径,将注册和登录的数据存储和读取,也进行对比,这个过程的代码主要是对得到的数据进行转换类型比较多

每行代码的功能,我已经在上面写上了解释

http.createServer(function (req,res) {   //创建服务
    console.log('req.url:',req.url);  //打印请求的地址
    var pathname =url.parse(req.url).pathname; 
    //通过parsepathname这个方法,获得地址栏的: /xxx
    if(pathname =='/')
    {
       fs.readFile('01.html',function (err,data) {
           res.writeHead(200, {'Content-Type': 'text/html'});
           res.end(data);
       });     //读取第一个html的文件(注册页面)
    }else if(pathname =='/post'&&req.method=='POST')
    {
        console.log('解析数据');//当用户提交注册数据的时候,开始进行解析和写入
        var data ='';
        req.on('data',function (chunk) {
            data+=chunk;
            console.log(data);
        }).on('end',function () {
           var tt= querystring.parse(data); //参数字符串格式化成对象
           console.log(tt);
           fs.writeFile('hello.json',JSON.stringify(tt),'utf8',function (err) {
                 if(err)
                 {
                     return  res.end('注册错误')
                 }else {
                     return  res.end('注册成功')
                 }
           });  //将我们注册的信息写入(writeFile)到本地的一个json文件中,保存起来
        })
    }
    else if(pathname=='/login'&&req.method=='GET')   //登录页面
    {
        fs.readFile('02.html',function (err,data) {
            res.writeHead(200, {'Content-Type': 'text/html'});
            res.end(data);
        });  //读取第二个html的文件(登录页面)
    }else if(pathname=='/login'&&req.method=='POST')
    {
      fs.readFile('hello.json',function (err,data) { 
          //读取本地的json文件的数据,进行对比
           data = JSON.parse(data.toString());
           console.log('读取数据',data);
           var temp ='';
           req.on('data',function (chunk){
               temp +=chunk;
           }).on('end',function () {
               var login= querystring.parse(temp);
               if(login.username ==data.username&&login.password==data.password)
               {
                   return res.end('登录成功');
               }else{
                   return res.end('登录失败,请确认用户名和密码是否正确');
               }
           })

      })
    }
}).listen(3000,function () {
    console.log('server on 3000');
});

下面我们运行我们的node.js的文件,运行结果如下:

此时的url默认为/ ,此时读取第一个html文件


提交后:当我们提交的时候路径变为/post 且提交方式为post,注册成功,并把信息存储在本地的json文件


点击登录按键,进入登录页面,此时输入登录的信息,此时的地址为/login,获取方法为get

pathname=='/login'&&req.method=='GET'


当我们点击登录按钮式,

pathname=='/login'&&req.method=='POST'


这样一个简单的登录系统就完成了,随着node.js学习的深度,在对登录系统进行更深入的书写。。。。。。。





  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值