ajax在表單中常用,一般都是使用post方法,ajax請求:前台提交數據→后台查詢數據→返回給前台
下面以post方法為例上代碼:
<form action="login" method="post"> 用戶名:<input type="text" onblur="checkUser()"> <span></span> 密碼:<input type="password"> <button>登錄</button> </form>
javascript:
<script> function checkUser(){ var userName=document.getElementsByTagName("input")[0].value; var mark=document.getElementsByTagName("span")[0]; var xhr=""; if(window.XMLHttpRequest){ xhr=new XMLHttpRequest(); }else if(window.ActiveXObject){ xhr=new ActiveXObject(); }//處理瀏覽器兼容 xhr.open("post","login",true);//請求的方式、地址、異步 xhr.setRequestHeader("content-type","application/x-www-form-urlencoded");//post請求設置請求頭 xhr.send("userName="+userName); xhr.onreadystatechange=function(){ //接收后台傳回的數據 更新頁面 if(xhr.readyState==200 && xhr.status==4){ if(response==0){ mark.innerText="已注冊請登錄" }else if(response==1){ mark.innerText="用戶名不存在請注冊" } } } } </script>
服務器攔截並響應:
app.post("login",function(req,res){ //攔截地址 設置回調函數 let userName=req.body.userName;//獲取到用戶輸入的用戶名 let sqlStr="select * from t_user where u_name=?"//查詢數據庫用戶名 database.dbconnect(sqlStr,[],function(err,data){ if(data.length>0){ //判斷用戶名是否存在,做出相應響應 res.send("0")//用戶名存在返回0 }else{ res.send("1")//用戶名不存在返回1 } }) })
以上為今天所有分享,歡迎評論賜教;
如需了解更多,請進入知了堂社區:http://www.zhiliaotang.com/portal.php;