php用AJax和json實作登入驗證的方法是:1、建立一個jsp範例文件,導入jquery依賴和fastjson依賴文件;2、新login.js文件,取得使用者名稱和密碼文字內容;3 、新建controller類,查詢使用者是否存在並把物件轉換為json字串類型回傳給js檔案;4、js判斷是否成功然後進行頁面跳轉即可。
本教學作業系統: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中文網其他相關文章!