亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發(fā) > AJAX > 正文

Ajax實現(xiàn)帶有驗證碼的局部刷新登錄界面

2024-09-01 08:33:45
字體:
供稿:網(wǎng)友

現(xiàn)在的登錄界面大多數(shù)都帶有:驗證碼的功能+驗證碼局部刷新+ajax登錄。用ajax登錄的好處最明顯就是速度快,URL地址沒有變化。所有現(xiàn)在登錄功能很少再用form表單post提交了,大多數(shù)都已經(jīng)采用了ajax局部訪問后臺然后解析返回值并顯示結(jié)果到界面上面。理論還是要拿來實踐才能驗證的,下面直接上代碼。

運行界面:

ajax,驗證碼的局部刷新,ajax登錄界面

1.驗證碼后臺訪問部分上一篇博客已經(jīng)介紹多了,這里介紹如何利用img中src實現(xiàn)局部刷新驗證碼的功能。

html部分:

<p><label class="lbright">驗證碼:</label><span><input type="text" name="validcode" style="width:70px; vertical-align:middle;" id="validcode"/><img id="codePic" src="http://127.0.0.1:8888/TP/codePic" width="60" height="21" style="vertical-align:middle;cursor:pointer;"/> </span> <a class="blurry" id="newPic" onclick="getPic();">看不清楚,換一張</a></p> 

js部分:

<script type="text/javascript">function getPic(){ $("#codePic").attr("src","http://127.0.0.1:8888/TP/codePic?flag="+Math.random()); };</script>

這部分最重要的就是 $("#codePic").attr("src","http://127.0.0.1:8888/TP/codePic?flag="+Math.random()); 這部分的代碼。如果不加flag="+Math.random()是實現(xiàn)不了局部刷新的功能的。因為src中如果每次訪問的地址一樣的話就會發(fā)生不更新的情況。具體為什么會發(fā)生這種情況大家可以自己去研究。而codePic其實是一個action。這個action的功能是利用java畫筆畫出驗證碼并打包成圖片返回給img中的src。

2.利用bootstrap中的modal實現(xiàn)對話框的功能。因為登錄提交前需要驗證用戶名或密碼是否為空等判斷,如果出現(xiàn)錯誤就需要彈出對話框提示用戶。這里驗證部分用js實現(xiàn),對話框部分用bootstrap的modal實現(xiàn)。

html對話框部分:

<div class="modal" id="mymodal" tabindex="-1"><div class="modal-dialog"><div class="modal-content"><div class="modal-header"><button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button><h4 class="modal-title">親,您好</h4></div><div class="modal-body" id="dialogs"><p></p></div><div class="modal-footer"><button type="button" data-dismiss="modal" style="color: #FFFFFF;background-color:#FB8F02; text-align:center;padding:10px;border: 1px solid #dedede;-moz-border-radius: 15px;-webkit-border-radius: 15px; border-radius:15px;vertical-align:middle;">我知道了</button></div></div><!-- /.modal-content --></div><!-- /.modal-dialog --></div><!-- /.modal -->

js驗證部分:

<script type="text/javascript">function dialog(){ $("#mymodal").modal("toggle");};function login(){ var userName=document.getElementById("username").value; var pwd=document.getElementById("password").value; var validcode=document.getElementById("validcode").value; var matchResult=true; if(userName==""){ document.getElementById("dialogs").innerHTML="<h3>用戶賬號不能為空!</h3>";dialog();matchResult=false; }else if(pwd==""){ document.getElementById("dialogs").innerHTML="<h3>用戶密碼不能為空!</h3>";dialog();matchResult=false; }else if(validcode==""){ document.getElementById("dialogs").innerHTML="<h3>驗證碼不能為空!</h3>";dialog();matchResult=false; }else if(userName.length<6||userName.length>20){ document.getElementById("dialogs").innerHTML="<h3>用戶名長度應(yīng)在6到20個字符之間!</h3>";dialog();matchResult=false; }else if(pwd.length<6||pwd.length>20){ document.getElementById("dialogs").innerHTML="<h3>密碼或重復(fù)密碼長度應(yīng)在6到20個字符之間!</h3>";dialog();matchResult=false; } };</script>

需要導(dǎo)入的css、js文件:

<link href="css/global.css" rel="stylesheet" type="text/css" /><link rel="stylesheet" href="css/bootstrap.min.css"><script src='js/jquery-1.9.1.js'></script><script src="js/jquery.min.js"></script><script src="js/jquery.js"></script><script src="js/bootstrap.min.js"></script>

這里需要注意的就是導(dǎo)入的CSS,js文件是否正確。

3.利用ajax實現(xiàn)登錄功能

html部分:

<div class="submitcon"><input type="button" value="登 錄" style="height:45px;width:130px;margin-top:15px;color: #FFFFFF;background-color:#FB8F02;font-size: 20px;padding:5px;border: 3px solid #dedede;-moz-border-radius: 15px;-webkit-border-radius: 15px; border-radius:15px;vertical-align:middle;text-align:center;" onclick="login();"/> </div>

js部分:

<script type="text/javascript">function login(){ var userName=document.getElementById("username").value; var pwd=document.getElementById("password").value; var validcode=document.getElementById("validcode").value; var matchResult=true; if(userName==""){ document.getElementById("dialogs").innerHTML="<h3>用戶賬號不能為空!</h3>";dialog();matchResult=false; }else if(pwd==""){ document.getElementById("dialogs").innerHTML="<h3>用戶密碼不能為空!</h3>";dialog();matchResult=false; }else if(validcode==""){ document.getElementById("dialogs").innerHTML="<h3>驗證碼不能為空!</h3>";dialog();matchResult=false; }else if(userName.length<6||userName.length>20){ document.getElementById("dialogs").innerHTML="<h3>用戶名長度應(yīng)在6到20個字符之間!</h3>";dialog();matchResult=false; }else if(pwd.length<6||pwd.length>20){ document.getElementById("dialogs").innerHTML="<h3>密碼或重復(fù)密碼長度應(yīng)在6到20個字符之間!</h3>";dialog();matchResult=false; } if(matchResult==true){$.post("http://127.0.0.1:8888/TP/usersAction?method=login", {usersName:userName,password:pwd, validcode:validcode},function(data,status){var error=data.error;var result=data.result; getPic();if(error=="error"){errors="true";document.getElementById("dialogs").innerHTML="<h3>驗證碼錯誤,請重新輸入!</h3>";dialog();}if(result=="0"){document.getElementById("dialogs").innerHTML="<h3>您輸入的用戶名不存在!</h3>";document.getElementById("username").value="";dialog();}else if(result=="1"){document.getElementById("dialogs").innerHTML="<h3>您輸入的密碼錯誤,請重新輸入!</h3>";document.getElementById("password").value="";dialog();}else if(result=="2"){document.getElementById("dialogs").innerHTML="<h3>您的管理員權(quán)限不夠!</h3>";dialog();}else if(result=="3"){location.href="http://127.0.0.1:8888/TP/main.jsp";} },"json");} };</script>

這里location.href="http://127.0.0.1:8888/TP/main.jsp"作用相當(dāng)于重定向。我的ajax不是原生的js中的ajax而是JQuery封裝好的ajax。大家可以去搜一搜 JQuery中$.post()請求。

login.jsp全部代碼:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><title>無標(biāo)題文檔</title><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><link href="css/global.css" rel="stylesheet" type="text/css" /><link rel="stylesheet" href="css/bootstrap.min.css"><script src='js/jquery-1.9.1.js'></script><script src="js/jquery.min.js"></script><script src="js/jquery.js"></script><script src="js/bootstrap.min.js"></script></head><body><div class="modal" id="mymodal" tabindex="-1"><div class="modal-dialog"><div class="modal-content"><div class="modal-header"><button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button><h4 class="modal-title">親,您好</h4></div><div class="modal-body" id="dialogs"><p></p></div><div class="modal-footer"><button type="button" data-dismiss="modal" style="color: #FFFFFF;background-color:#FB8F02; text-align:center;padding:10px;border: 1px solid #dedede;-moz-border-radius: 15px;-webkit-border-radius: 15px; border-radius:15px;vertical-align:middle;">我知道了</button></div></div><!-- /.modal-content --></div><!-- /.modal-dialog --></div><!-- /.modal --><div class="logincontainer"><div class="logintitle">大學(xué)二手交易平臺管理系統(tǒng)</div><div class="loginbg"><div class="loginfmbg"><div class="sysname">BBW綜合管理系統(tǒng)</div><div class="loginfm"> <p><label class="lbright">用戶名:</label><span class="spinput"><input type="text" name="usersName" id="username"/></span></p><p><label class="lbright">密 碼:</label><span class="spinput"><input type="password" name="password" id="password"/></span></p><p><label class="lbright">驗證碼:</label><span><input type="text" name="validcode" style="width:70px; vertical-align:middle;" id="validcode"/><img id="codePic" src="http://127.0.0.1:8888/TP/codePic" width="60" height="21" style="vertical-align:middle;cursor:pointer;"/> </span> <a class="blurry" id="newPic" onclick="getPic();">看不清楚,換一張</a></p> </div><div class="submitcon"><input type="button" value="登 錄" style="height:45px;width:130px;margin-top:15px;color: #FFFFFF;background-color:#FB8F02;font-size: 20px;padding:5px;border: 3px solid #dedede;-moz-border-radius: 15px;-webkit-border-radius: 15px; border-radius:15px;vertical-align:middle;text-align:center;" onclick="login();"/> </div></div></div><div class="copyright">Copyright 2015-2016 林志強 版權(quán)所有 </div></div></body><script type="text/javascript">function getPic(){ $("#codePic").attr("src","http://127.0.0.1:8888/TP/codePic?flag="+Math.random()); };function dialog(){ $("#mymodal").modal("toggle");};function login(){ var userName=document.getElementById("username").value; var pwd=document.getElementById("password").value; var validcode=document.getElementById("validcode").value; var matchResult=true; if(userName==""){ document.getElementById("dialogs").innerHTML="<h3>用戶賬號不能為空!</h3>";dialog();matchResult=false; }else if(pwd==""){ document.getElementById("dialogs").innerHTML="<h3>用戶密碼不能為空!</h3>";dialog();matchResult=false; }else if(validcode==""){ document.getElementById("dialogs").innerHTML="<h3>驗證碼不能為空!</h3>";dialog();matchResult=false; }else if(userName.length<6||userName.length>20){ document.getElementById("dialogs").innerHTML="<h3>用戶名長度應(yīng)在6到20個字符之間!</h3>";dialog();matchResult=false; }else if(pwd.length<6||pwd.length>20){ document.getElementById("dialogs").innerHTML="<h3>密碼或重復(fù)密碼長度應(yīng)在6到20個字符之間!</h3>";dialog();matchResult=false; } if(matchResult==true){$.post("http://127.0.0.1:8888/TP/usersAction?method=login", {usersName:userName,password:pwd, validcode:validcode},function(data,status){var error=data.error;var result=data.result; getPic();if(error=="error"){errors="true";document.getElementById("dialogs").innerHTML="<h3>驗證碼錯誤,請重新輸入!</h3>";dialog();}if(result=="0"){document.getElementById("dialogs").innerHTML="<h3>您輸入的用戶名不存在!</h3>";document.getElementById("username").value="";dialog();}else if(result=="1"){document.getElementById("dialogs").innerHTML="<h3>您輸入的密碼錯誤,請重新輸入!</h3>";document.getElementById("password").value="";dialog();}else if(result=="2"){document.getElementById("dialogs").innerHTML="<h3>您的管理員權(quán)限不夠!</h3>";dialog();}else if(result=="3"){location.href="http://127.0.0.1:8888/TP/main.jsp";} },"json");} };</script></html>

以上所述是小編給大家介紹的Ajax實現(xiàn)帶有驗證碼的局部刷新登錄界面,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對VeVb武林網(wǎng)網(wǎng)站的支持!


注:相關(guān)教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
久久精品五月婷婷| www.91视频.com| 久久国产精品免费视频| 不卡视频免费在线观看| 国产精品视频网| 2023国产一二三区日本精品2022| 国产精品日韩欧美一区二区三区| 91av免费看| 国产一级在线视频| 亚洲无线视频| 91成人国产| 欧美第十八页| 亚洲图片欧美色图| 韩国三级hd中文字幕有哪些| 国产最新精品免费| 精品女同一区二区三区在线播放| 91久久久久久白丝白浆欲热蜜臀| 国产 日韩 亚洲 欧美| 国内精品视频一区二区三区| 亚洲精品国精品久久99热| 色戒汤唯在线观看| 9l视频自拍9l视频自拍| 日韩亚洲视频在线| 九一九一国产精品| 免费久久久久久久久| 国产精品777一区二区| 182在线观看视频| 亚洲va天堂va国产va久| 91久久久久久久久久久久久| 欧美激情视频在线免费观看 欧美视频免费一| 手机福利视频欧美| 午夜在线a亚洲v天堂网2018| 圆产精品久久久久久久久久久| 六月丁香婷婷久久| 青娱乐国产视频| 免费a级毛片在线播放| 欧美一区二区日韩| 欧美午夜精品理论片a级大开眼界| 色呦呦网站在线观看| 国内一区二区在线视频观看| 国产成人精品亚洲777人妖| 日韩经典在线视频| 日韩精品xxxx| 99久久免费精品高清特色大片| 国产精品久久久久影院色老大| 男同互操gay射视频在线看| 久久久久国产精品麻豆| 欧美一区二区三区不卡| 中文字幕资源在线观看| 精品国产一区二区三区久久狼5月| 国产精品亚洲а∨天堂免在线| 两个人日本在线观看视频| 爱啪导航一精品导航站| 国色天香久久精品国产一区| 99自拍视频在线观看| 久久久久久久久久久国产精品| 婷婷五月精品中文字幕| 777777777亚洲妇女| 国产成人精品免费视频大全最热| 亚洲一区二区不卡视频| 91视频免费在线| 成人自拍性视频| 又粗又大的机巴好爽欧美| 欧美亚洲第一页| 嗯啊主人调教在线播放视频| 性欧美高清视频| 久久久久久欧美精品色一二三四| caoporn97免费视频公开| 91精品视频在线看| 黄色在线视频网站| 久久综合亚洲精品| 97cao在线| 人妻偷人精品一区二区三区| 综合久久给合久久狠狠狠97色| 欧美黄色网视频| 五月婷婷伊人网| 99在线热播精品免费99热| 久久aⅴ乱码一区二区三区| 狠狠综合久久av一区二区小说| 精品国产999久久久免费| 国产精品酒店视频| 久色乳综合思思在线视频| 欧美一卡二卡三卡| 成人蜜桃视频网站网址| 只有这里有精品| 成人精品免费网站| 欧美福利视频导航| 免费xxxx性欧美18vr| 羞羞网站在线免费观看| 艳妇乳肉亭妇荡乳av| 成人毛片免费| 亚洲视频在线观看一区二区| 亚洲天堂伊人网| 欧美与黑人午夜性猛交久久久| 欧美一级淫片videoshd| 国产精品久久久久久久久搜平片| 五月婷婷综合在线| 综合在线亚洲| 国产a∨精品一区二区三区仙踪林| 欧美777四色影| 久久精品国产亚洲av麻豆蜜芽| 亚洲永久精品ww.7491进入| 青青操在线视频观看| 亚洲午夜精品久久久久久人妖| 亚洲人成欧美中文字幕| 国精产品一区一区三区mba桃花| 国产情人节一区| 91在线免费看片| 中文字幕+乱码+中文乱码www| 亚洲日本va中文字幕久久| 亚洲地区一二三色| 免费在线激情视频| 波多野结衣在线观看视频| 国产日产欧美a一级在线| 午夜毛片在线观看| 天堂在线看视频| 亚洲欧洲高清在线| 51精品秘密在线观看| 一本大道熟女人妻中文字幕在线| 成人黄色综合网站| 不卡一卡二卡三乱码免费网站| 久久久久久亚洲精品杨幂换脸| 精品国产乱码久久久久久1区二区| 91麻豆精品国产91久久久使用方法| 亚洲视频在线观看免费视频| 亚洲熟女乱色一区二区三区久久久| 一区二区三区四区五区精品视频| 亚洲一区二区三区高清| 国产毛片在线视频| 午夜久久久久久电影| 日韩网站在线播放| 欧美日韩亚洲综合一区| 无码人妻熟妇av又粗又大| 亚洲国产成人精品无码区99| 亚洲亚洲免费| 一区二区精彩视频| h视频免费观看| 激情在线小视频| 亚洲成人国产精品| 久久手机在线视频| 日韩不卡视频在线观看| 国产日产在线观看| 国产精品偷伦视频免费观看国产| 91精品国产乱| huan性巨大欧美| 国产成人夜色高潮福利影视| 亚洲一区二区中文字幕| 香蕉免费一区二区三区在线观看| 色综合视频在线观看| 日本乱人伦a精品| 欧美69wwwcom| 亚洲国产精品网站| eeuss鲁片一区二区三区在线观看| 岛国大片在线观看| 亚洲欧洲国产精品| 国产超碰在线观看| 日韩大片一区二区| 亚洲性猛交富婆| 日本不卡不码高清免费观看| 精品产国自在拍| 四虎永久免费在线观看| 欧美xxxxx在线视频| 国产午夜精品久久久| va婷婷在线免费观看| 欧美精品videossex性护士| 国产精品午夜影院| 丝袜诱惑一区二区| 欧美人与性动交| 欧美日韩大陆一区二区| 婷婷亚洲五月| 激情六月天婷婷| 91免费精品视频| 中文字幕一区二区三区四区五区| 成人午夜av电影| 91网免费观看| 丰满白嫩尤物一区二区| 久久久一二三| 国产福利小视频在线| 亚洲第一在线综合在线| 亚洲a∨无码无在线观看| 国产精品精品视频一区二区三区| 最新eeuss影院在线观看| 亚洲超碰在线观看| 国产精品美乳在线观看| 国产日韩精品在线| 国产免费一区二区三区最新6| 国产专区综合网| 2014国产精品| 久久香蕉网站| 一区二区三区四区不卡在线| 91视频网页| 久久香蕉国产线看观看网| 精品动漫一区二区三区在线观看| 亚洲视频在线一区| 久久成人免费| 美女视频久久久| 成人短视频软件网站大全app| 影音先锋在线播放| 成人av激情人伦小说| 成人免费高清视频在线观看| 另类的小说在线视频另类成人小视频在线| 国产精品久久久久久亚洲av| 国产精九九网站漫画| 国产成人美女视频| 五月丁香综合缴情六月小说| 成在线人视频免费视频| 777午夜精品免费视频| 久久天堂av综合合色| 尤物精品在线| 久久免费视频66| 欧美特黄一级| 妺妺窝人体色www在线小说| 最新精品在线| 国产福利久久| 成人免费一区二区三区牛牛| 国产成人亚洲综合小说区| 亚洲国产美国国产综合一区二区| 中文字幕一区不卡| 中文字幕一二三区在线观看| 日韩美女一区二区三区| 国产色无码精品视频国产| 日韩不卡一区二区三区| 欧美日韩在线直播| 亚洲精品久久久久avwww潮水| 日本免费一区二区视频| 国产精选一区二区| www.男人的天堂| 日韩一二三区视频| 国产精品成人**免费视频| 久久精品免视着国产成人| 午夜精品蜜臀一区二区三区免费| 国产黄大片在线观看画质优化| 大胆国模一区二区三区| 都市激情综合| 91精品国产三级| 国产精品久久久久久久av电影| 亚洲一区三区在线观看| 亚洲国产精品va在线看黑人| 韩国一区二区三区在线观看| 欧美在线免费看视频| 日韩电影免费一区| 日本天堂在线播放| 国产 日韩 欧美大片| 蜜臀视频在线观看| 国产精品免费无码| 欧美一级黄视频| 嫩草黄色影院| 日本wwwwwwwzzzzz视频| 91九色91蝌蚪| 激情网站在线| 国模精品视频一区二区三区| 久久av免费看| 麻豆国产传媒av福利| 欧美色涩在线第一页| 爱看av在线入口| 欧美综合在线观看| 日日干日日操| 国产精品日日摸夜夜爽| 国产成人av网址| 国产高清视频一区二区| 高清av电影| 蜜乳av一区| 亚洲电影一级片| 日韩成人伦理电影在线观看| 欧美日韩伦理一区二区| 国产欧美一区二区三区精品观看| aa免费在线观看| 亚洲精品成人无码熟妇在线| 亚洲另类激情图| 99国产精品久久久久久久久久久| 欧美高清视频一区二区三区| 中文字幕av日韩精品| 欧美videos另类| 日韩精品123| 亚洲一区二区三区四区五区黄| 99热在线免费播放| 精品久久久久久亚洲| 中文字幕在线影院| 成人在线丰满少妇av| 中文字幕人妻互换av久久| 久久精品在线| 黑人一区二区三区四区五区| 欧美色综合网站| 成人免费一区二区三区牛牛| 精品精品99| 国产精品7区| 日本午夜精品久久久久| 91沈先生播放一区二区| 亚洲av中文无码乱人伦在线视色| 国产高清一级毛片在线不卡| 亚洲最好看的视频| 国产伦理一区二区三区| 久久伊人一区二区| 一区二区视频观看| 国产成人无码a区在线观看视频| 五月激情六月婷婷| 色妞ww精品视频7777| 成年女人午夜毛片免费看| 天天干在线视频论坛| 国产麻豆久久| 国产精品美女毛片真酒店| 青青操在线播放| 中文字幕国语官网在线视频| 久久国产综合视频| 国产毛片精品久久| 欧美高清性hdvideosex| 熟女高潮一区二区三区| 国产精品视频一区二区图片| 日本不卡的三区四区五区| 亚洲精品大片www| 欧美少妇精品| 久久国产精品免费看| 欧美xxxxxxxx| 性xxxxxxxxx18欧美| 国产精品免费一区二区三区四区| 成人啊v在线| 国产探花一区在线观看| 九九热在线播放| 中文一区一区三区免费| 美美哒免费高清在线观看视频一区二区| 美女黄视频在线播放| 波多野结衣一区二区| 最新不卡av| 欧美成人r级一区二区三区| 激情av在线| 免费在线观看日韩欧美| 超碰人人人人人人人| 狠狠狠色丁香婷婷综合久久五月|