Node.JS的 get、post方法应用

const  http = require('http')
const  url = require('url')
const querystring = require('querystring')
const fs = require('fs')
let user ={ 
    admin:123456
}

http.createServer((req,res)=>{

    //获取数据
    let path,get,post
    if(req.method =='GET'){
      let {pathname,query}  = url.parse(req.url,true)
      path = pathname,
      get  = query 
      complete()

    }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:0,
                msg:"密码错误"
               })
              )
           }else{
              res.end(JSON.stringify({
                err:1,
                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(8080)
<!DOCTYPE html>
<html>
<head>
  <meta charset='utf-8'>
  <meta http-equiv='X-UA-Compatible' content='IE=edge'>
  <title>Page Title</title>
  <meta name='viewport' content='width=device-width, initial-scale=1'>

  <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:$('uaesname').val(),
                password:$('password').val()
            },
            dataType:"json",
            success(res){
              if(res.err){
               alert(res.msg)
              }else{
                alert("登录成功")
                location.href="admin.html"
              }
            }
          })
        })
        $('#reg').click(function(){
          $.ajax({
            url:"/reg",
            method:"post",
            data:{
                username:$('uaesname').val(),
                password:$('password').val()
            },
            dataType:"json",
            success(res){
              if(res.err){
               alert(res.msg)
              }else{
                alert("注册成功")
              }
            }
          })
        })
        
       </script>
</body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值