首頁 >後端開發 >PHP問題 >php如何使用AJax和json實作登入驗證

php如何使用AJax和json實作登入驗證

尊渡假赌尊渡假赌尊渡假赌
尊渡假赌尊渡假赌尊渡假赌原創
2023-06-19 13:28:371856瀏覽

php用AJax和json實作登入驗證的方法是:1、建立一個jsp範例文件,導入jquery依賴和fastjson依賴文件;2、新login.js文件,取得使用者名稱和密碼文字內容;3 、新建controller類,查詢使用者是否存在並把物件轉換為json字串類型回傳給js檔案;4、js判斷是否成功然後進行頁面跳轉即可。

php如何使用AJax和json實作登入驗證

本教學作業系統:Windows10系統、php8.1.3版本、Dell G3電腦。

AJAX和Json完成使用者登入

1、提前導入jquery依賴和fastjson依賴

2、新建jsp頁面

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>

<script type="text/javascript" src="js/jquery-3.4.1.js"></script>
<script type="text/javascript" src="login.js"></script>

<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
		
	<!-- 不使用submit,用ajax+json实现局部刷新,实现登录 -->
	<form action="" method="post">
		<span id="msg"></span><br/>
		用户姓名:<input type="text" name="username" id="username"><br/>
		用户密码:<input type="text" name="password" id="password"><br/>
		<input type="button" value="登录" id="submit">
	</form>
	
</body>
</html>

3、新建js檔

$(function(){
	$("#submit").click(function(){
	
		var username = $("#username").val();
		var password = $("#password").val();
		//获取json格式的文本内容
		$.post("login?mark=login",{"username":username,"password":password},
			function(data){
				if(data.log){
					/*输入要跳转的页面*/
					/*window.location.href="https://www.php.cn/link/3729ff995bfa947622cdf0612e57c332";*/
					alert("success");
				}else{
					$("#msg").css("color","red").html(data.msg);
				}
		},"json"
		
		);
		
	});
});

4、新建controller類別

查詢是否存在此使用者
把map物件轉換成json字串類型,寫入到內存,並傳回給js檔案

private void login(HttpServletRequest request, HttpServletResponse response) throws Exception {
		// 
		response.setContentType("text/html;charset=utf-8");
		PrintWriter writer = response.getWriter();
		String msg = "";
		String username = request.getParameter("username");
		String password = request.getParameter("password");
		Map<String, Object> map = new HashMap();
		
		//查询是否存在此用户
		User user = new LoginServer().login(username, password);

		if(user!=null) {
			map.put("log", true);
			map.put("msg", "成功");
		}else {
			map.put("log", false);
			map.put("msg", "用户名或者密码错误");
		}
		
		//把map对象转换成json字符串类型,写入到内存,并返回给js文件
		writer.write(JSON.toJSONString(map));
		
	}

以上是php如何使用AJax和json實作登入驗證的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn