1.jsp页面,springMvc会帮我们把请求的数据匹配到方法参数中,而不用我们自己转换json对象为java对象,返回时会自动把java对象转换为json字符串
<%--
Created by IntelliJ IDEA.
User: y
Date: 2021/4/21
Time: 23:11
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>登录页面</title>
<script src="${pageContext.request.contextPath}/js/jquery-3.3.1.min.js"></script>
<script>
$(document).ready(function () {
$("#username").change(function () {
var username = $("#username").val()
$.ajax({
//请求路径
url:"${pageContext.request.contextPath}/checkUsername",
//请求数据:用户名
data:{"username":username},
//期望返回的数据格式
dataType:"json",
//这里的data是请求成功后返回的json数据
success:function (data) {
if(data==true){
alert("用户名已存在,请重新输入")
$("#username").focus();
}else{
alert("用户名可用")
}
},
error:function () {
alert("请求出错")
}
})
})
})
</script>
</head>
<body>
<div>
<form>
<table>
<tr>
<td>用户名</td>
<td id="nameTd"><input type="text" name="username" id="username" placeholder="username"></td>
</tr>
<tr>
<td>密码</td>
<td><input type="text" name="password" id="password" placeholder="password"></td>
</tr>
<tr>
<td>
<input type="submit" value="登录">
</td>
</tr>
</table>
</form>
</div>
</body>
</html>
2.java代码
@RequestMapping("/ajaxLoginDemo")
public String ajaxLoginDemo(){
return "ajaxLoginDemo";
}
@RequestMapping("/checkUsername")
@ResponseBody //用于直接返回对象
public boolean checkUsername(String username){
if("lek".equals(username)){
return true;
}
return false;
}