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中文网其他相关文章!