node15-node实现登录和注册第二部分代码

简介: node15-node实现登录和注册第二部分代码
npm安装jQuery并引入
app.js
    const http = require('http');
     const url = require('url')
     const querystring = require('querystring')
     const fs = require('fs')
     let user={
         admin:12345
     }
     http.createServer((req,res)=>{
         let path,get,post
         //如果是get请求
         if(req.method=='GET'){
            let{pathname,query} = url.parse(req.url,true)
            path=pathname,
            get=query
            complete()
         //如果是POST请求
         }else if(req.method=='POST'){
             let arr=[]
             path=req.url
             req.on('data',buffer=>{
                 arr.push(buffer)
             })
             req.on('end',()=>{
                 post=querystring.parse(Buffer.concat(arr).toString())
                 complete()
             })
         }
         function complete(){
             if(path=='/login'){
                 res.writeHead(200,{
                     "Content-Type":"text/plain;charset=utf-8"
                 })
                 let {username,password}=get
                 if(!user[username]){
                     res.end(JSON.stringify({
                         err:1,
                         msg:"用户不存在"
                     })
                     )
                 }else if(user[username]!=password){
                     res.end(JSON.stringify({
                         err:1,
                         msg:"密码错误"
                     })
                     )
                 }else{
                     res.end(JSON.stringify({
                         err:0,
                         msg:"登录成功"
                     })
                     )
                 }
             }else if(path=='/reg'){
                 res.writeHead(200,{
                     "Content-Type":"text/plain;charset=utf-8"
                 })
                 let{username,password}=post
                 if(user[username]){
                     res.end(JSON.stringify({
                         err:1,
                         msg:"账户已经存在"
                     })
                     )
                 }else{
                     user[username]=password
                     res.end(JSON.stringify({
                         err:0,
                         msg:"注册成功"
                     })
                     )
                 }
             }else{
                 fs.readFile(`./${path}`,(err,data)=>{
                     if(err){
                         res.end('404')
                     }else{
                         res.end(data)
                     }
                 })
             }
         }
     }).listen(8887);login.html
    <!DOCTYPE html>
     <html lang="en">
     <head>
         <meta charset="UTF-8">
         <meta name="viewport" content="width=device-width, initial-scale=1.0">
         <title>Document</title>
         <script src="jquery.min.js"></script>
     </head>
     <body>
         用户名:<input type="text" id="username"><br/>
         密码:<input type="password" id='password'><br/>
         <button id="login">登录</button><br/>
         <button id="reg">注册</button><br/>
         <script>
             $('#login').click(function() {
                 $.ajax({
                     url: "/login",
                     data: {
                         username: $('#username').val(),
                         password: $('#password').val()
                     },
                     dataType: "json",
                     success(res) {
                         //执行成功返回的是json值
                         if (res.err) {
                             alert(res.msg)
                         } else {
                             alert("登录成功")
                             location.href="admin.html"
                         }
                     }
                 })
             })
             $('#reg').click(function() {
                 $.ajax({
                     url: "/reg",
                     method:"post",
                     data: {
                         username: $('#username').val(),
                         password: $('#password').val()
                     },
                     dataType: "json",
                     success(res) {
                         //执行成功返回的是json值
                         if (res.err) {
                             alert(res.msg)
                         } else {
                             alert("注册成功")
                         }
                     }
                 })
             })
         </script>
     </body>
     </html>admin.html
    <!DOCTYPE html>
     <html lang="en">
     <head>
         <meta charset="UTF-8">
         <meta name="viewport" content="width=device-width, initial-scale=1.0">
         <title>Document</title>
     </head>
     <body>
         <p>我是歌谣(后台)</p>
     </body>
     </html>

image.png

相关文章
|
3月前
|
JavaScript 前端开发 算法
Node.js 艺术:用代码打印出绚丽多彩的控制台柱状图
Node.js 艺术:用代码打印出绚丽多彩的控制台柱状图
41 0
|
6天前
|
安全 关系型数据库 MySQL
node实战——后端koa结合jwt连接mysql实现权限登录(node后端就业储备知识)
node实战——后端koa结合jwt连接mysql实现权限登录(node后端就业储备知识)
16 3
|
2月前
|
设计模式 测试技术
在实现链表的代码中,为什么要使用`Node`类而不是直接在`LinkedList`类中定义节点?
在实现链表的代码中,为什么要使用`Node`类而不是直接在`LinkedList`类中定义节点?
21 1
|
3月前
|
监控 JavaScript 前端开发
统计项目代码行数轻松搞定:使用 Node.js 脚本自动统计代码量
统计项目代码行数轻松搞定:使用 Node.js 脚本自动统计代码量
62 0
|
4月前
|
存储 JavaScript
掌握 Node.js 事件循环,让代码更高效
掌握 Node.js 事件循环,让代码更高效
掌握 Node.js 事件循环,让代码更高效
|
5月前
|
监控 JavaScript 前端开发
Node.js实操:构建高性能上网控制系统的代码技术解析
在网络时代,构建高性能的上网控制系统至关重要,而Node.js作为一种快速、轻量级的服务器端JavaScript运行环境,为开发者提供了丰富的工具和库。本文将深入探讨如何利用Node.js实操,构建高性能的上网控制系统,并通过代码技术解析来详细说明其实现过程。
169 1
|
5月前
【Node】—接收参数 插入数据 实现注册功能
【Node】—接收参数 插入数据 实现注册功能
|
8月前
|
存储 小程序 前端开发
uniapp+node.js+mysql前后端微信小程序授权登录
uniapp+node.js+mysql前后端微信小程序授权登录
105 0
|
11月前
|
Web App开发 JSON JavaScript
Node.js 中的代码调试
Node.js 中的代码调试
|
11月前
|
NoSQL JavaScript 关系型数据库
【Node.js实战】一文带你开发博客项目之登录(对接完毕,cookie、session、redis各司其职)
【Node.js实战】一文带你开发博客项目之登录(对接完毕,cookie、session、redis各司其职)
111 0