AJAX容易出错地方,错误处理
myajax.js
//创建路由器对象
const express=require('express');
//引入连接池模块
const pool=require('../pool.js');
//创建路由器对象
var router=express.Router();
//测试服务器接收ajax请求的接口
router.get("/ajaxDemo",(req,res)=>{
console.log(111);
res.send("第一个程序");
});
//2.测试带参数的get请求
router.get("/ajaxDemo1",(req,res)=>{
var $uname=req.query.uname;
var $upwd=req.query.upwd;
if(!$uname){
res.send("用户名没有接收到");
return;
}
if(!$upwd){
res.send("密码没有接收到");
return;
}
res.send("用户名为"+$uname+"密码为"+$upwd);
});
//3.get请求登录接口(应该用Post)
//http://127.0.0.1:8080/ajax/login_get?uname=yaya&upwd=123456
router.get("/login_get",(req,res)=>{
//获取请求中的数据
var $uname=req.query.uname;
var $upwd=req.query.upwd;
//验证数据正确的得到
if(!$uname){
res.send("没有获取到用户名称");
retrun;
};
if(!$upwd){
res.send("没有获取到用户密码");
return;
};
//使用连接池访问数据库
var sql="select * from xz_user where uname=? and upwd= ?";
pool.query(sql,[$uname,$upwd],(err,result)=>{
if(err){throw err };
if(result.length>0){
res.send("登录成功");
}else{
res.send("用户名或者密码错误");
};
});
});
//4.get接口请求登录
router.get("/login_post",(req,res)=>{
var $uname=req.query.uname;
var $upwd=req.query.upwd;
if(!$uname){
res.send("用户名不能为空");
return;
};
if($upwd==""){
res.send("密码不可以为空");
return;
};
var sql="select * from xz_user where uname=? and upwd=?";
pool.query(sql,[$uname,$upwd],(err,result)=>{
if(err) {throw err};
if(result.length>0){
res.send("登录成功");
}else{
res.send("用户名或密码错误");
};
});
});
//导出路由器对象
module.exports=router;
login_get_ajax.html
<body>
<input type="text" id="uname" >
<br><br>
<input type="text" id="upwd">
<br><br>
<button onclick="login()">登录</button>
<script>
function login(){
var u_uname=uname.value;
var u_upwd=upwd.value;
var xhr=new XMLHttpRequest();
xhr.onreadystatechange=function(){
if(xhr.readyState==4&&xhr.status==200){
var result=xhr.responseText;
alert(result);
};
};
var url="http://127.0.0.1:8080/ajax/login_post?uname="+u_uname+"&upwd="+u_upwd;
xhr.open("get",url,true);
xhr.send();
};
</script>
</body>