zoukankan      html  css  js  c++  java
  • nodejs初期,搭建一个登陆注册功能,(原生的)

    //server.js里的内容,关于开启服务,监听端口就不说了,

    var http = require('http')
    var fs = require('fs')
    var querystring = require('querystring')
    var url = require('url')
    var user = {}//act 判断登录还是注册,user /pass
    var server = http.createServer(function(req,res){
      const GET = url.parse(req.url,true);
      var query = GET.query;
      var pathname = GET.pathname;
      var str = '';
      if(pathname == '/user'){
        req.on('data',function(chunk){
          console.log(11)
          str += chunk;
        });
        req.on('end',function(){
          var POST = querystring.parse(str)
          switch (POST.act) {
            case 'reg':
              if(user[POST.user]==null){
                user[POST.user] = POST.pass;
                res.write('{"ok":true,"msg":"注册成功"}')
              }else{
                res.write('{"ok":false,"msg":"该用户名已经被注册"}')
              }
              break;
            case 'login':
              if(user[POST.user]==null){
                res.write('{"ok":false,"msg":"用户名不存在"}')
              }else if(user[POST.user]!=POST.pass){
                res.write('{"ok":false,"msg":"用户名或密码不对"}')
              }else{
                res.write('{"ok":true,"msg":"登录成功"}')
              }
              break;
            default:
            res.write('小主不知道您想干嘛')
          }
          res.end()
        })
      }else{
        const file_name = './www'+req.url;
        fs.readFile(file_name,'utf-8',function(err,data){
          if(err){
            res.write('404')
          }else {
            res.write(data)
          }
          res.end()
        })
      }
    }).listen(1111,function(){
      console.log('listen to 1111 port')
    })

    ///前台的代码

    建几个简单的输入信息的表单,用ajax提交post方式,data里放请求主体传送给后台。注意,后端做了判断地址加了./www。所有前端的文件都放这个目录里

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title></title>
    <script src="jquery-1.9.1.min.js" type="text/javascript" charset="utf-8"></script>
    <script type="text/javascript">
    window.onload=function(){
    var oTxtUser =document.getElementById('user');
    var oTxtPass =document.getElementById('password');
    var oBtnReg = document.getElementById('reg_btn');
    var oBtnLogin = document.getElementById('login_btn');
    oBtnReg.onclick=function(){
    $.ajax({
    type:"post",
    url:"/user",
    data:{act:'reg',user:oTxtUser.value,pass:oTxtPass.value},
    async:true,
    success:function(str){
    str = JSON.parse(str)
    alert(str.msg)
    }
    })
    }
    oBtnLogin.onclick=function(){
    $.ajax({
    type:"post",
    url:"/user",
    data:{act:'login',user:oTxtUser.value,pass:oTxtPass.value},
    async:true,
    success:function(str){
    str = JSON.parse(str)
    alert(str.msg)
    }
    })
    }
    }
    </script>
    </head>
    <body>
    用户:<input type="text" id="user" /><br />
    密码:<input type="password" id="password" /><br />
    <input type="button" name="" id="reg_btn" value="注册" />
    <input type="button" name="" id="login_btn" value="登录" />
    </body>
    </html>
  • 相关阅读:
    Oracle数据库的dual表的作用
    数据库中CASE函数和Oracle的DECODE函数的用法
    Oracle数据库中,通过function的方式建立自增字段
    Java学习(十三):抽象类和接口的区别,各自的优缺点
    Java学习(十八):二叉树的三种递归遍历
    Sublime工具插件安装
    sizeof和strlen
    I2C接口的EEPROM操作
    关于窗口看门狗
    关于指针传入函数
  • 原文地址:https://www.cnblogs.com/hsdying/p/7491334.html
Copyright © 2011-2022 走看看