异步登录(包含前后端:post请求)

在public平级目录中添加一个文件夹myPro,同时在routes文件中添加一个myPro.js文件
   1.在app.js中托管静态资源,挂路由
    托管:app.use(express.static('myPro'));
    路由:
        var myPro=require('./routes/myPro.js');
        app.use('/myPro',myPro);
   2.ajax登录功能(post)
     在myPro文件夹中创建一个common.js,在common.js中编写$()和createXhr()函数。
   3.用户数据的展示,在myPro.js中将用户表所有数据查询出来响应给前端。
后台:myPro.js文件
const express=require('express');
var router=express.Router();
var pool=require('../pool.js');
router.post('/ajaxlogin',(req,res)=>{
  var $uname=req.body.uname;
  if(!$uname){
    res.send('用户名称不存在');
 return;
  }
  var $upwd=req.body.upwd;
  if(!$upwd){
    res.send('用户密码不存在');
 return;
  }
  var sql='select * from xz_user where uname=? and upwd=?';
  pool.query(sql,[$uname,$upwd],(err,result)=>{
    if(result.length>0){
   res.send("登录成功!");
 }else{
   res.send("用户或密码错误!");
 }
  });
});

//导出
module.exports=router;
前端:01-ajaxlogin.html文件

<!doctype html>
<html>
  <head>
    <title>ajaxlogin</title>
    <meta charset="utf-8">
    <style></style>
  </head>
  <body>
     <p>
      用户名称:<input type="text" id="uname">
     </p>
     <p>
      用户密码:<input type="password" id="upwd">
     </p>
     <p>
       <input type="button" value="登录" οnclick="ajaxlogin()">
     </p>
     <script src="common.js"></script>
     <script>
       function ajaxlogin(){
         //1.创建异步对象
         var xhr=createXhr();
         //2.监听
         xhr.onreadystatechange=function(){
          if(xhr.readyState==4&&xhr.status==200){
            var res=xhr.responseText;
            console.log(res);
            alert(res);
           
          }
         }
         //3.打开连接
         xhr.open("post","/myPro/ajaxlogin",true);
         //增加:消息头
         xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");

         //4.发送请求
         var uname=$("uname").value;
         var upwd=$("upwd").value;
         var url="uname="+uname+"&upwd="+upwd;
         xhr.send(url);
       }
    
     </script> 
  </body>
</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值