1.首先看看JQuery给我们提供的文档
2.那我们如何知道响应json数据的MiME类型该怎么写?
3.后台+前端代码如下
*源代码
1 <!DOCTYPE html>
2 <html lang="en">
3 <head>
4 <meta charset="UTF-8">
5 <title>Title</title>
6 <script src="js/jquery-3.3.1.min.js"></script>
7 <script>
8 $(function () {
9 $("#usernameId").blur(function () {
10 $.post({
11 url: "ajaxRegisterServlet",
12 data: {"username": $("#usernameId").val(), "password": $("#passwordId").val()},
13 success: function (data) {
14 alert(data);
15 $("#spanId1").text(data.msg);
16 },
17 });
18 });
19 });
20 </script>
21 </head>
22 <body>
23 <from>
24 用户名:<input type="text" name="username" id="usernameId">
25 <span id="spanId1"></span>
26 <br/>
27 密码: <input type="password" name="password" id="passwordId">
28 </from>
29 </body>
30 </html>
1 package com.cht.web.servlet;
2
3 import com.fasterxml.jackson.databind.ObjectMapper;
4
5 import javax.servlet.ServletException;
6 import javax.servlet.annotation.WebServlet;
7 import javax.servlet.http.HttpServlet;
8 import javax.servlet.http.HttpServletRequest;
9 import javax.servlet.http.HttpServletResponse;
10 import java.io.IOException;
11 import java.util.HashMap;
12 import java.util.Map;
13
14 /**
15 * Created by IntelliJ IDEA.
16 *
17 * @author chenhaitao
18 * Date: 2019/7/8
19 * Time: 13:16
20 */
21
22 @WebServlet(name = "ajaxRegisterServlet", urlPatterns = "/ajaxRegisterServlet")
23 public class AjaxRegisterServlet extends HttpServlet {
24 @Override
25 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
26 request.setCharacterEncoding("utf-8");
27 response.setContentType("application/json;charset=utf-8");
28 String username = request.getParameter("username");
29 System.out.println(username);
30 Map<String, Object> map = new HashMap<>();
31
32 if ("cht".equals(username)) {
33 map.put("userExist", true);
34 map.put("msg", "用户名已存在");
35 } else {
36 map.put("userExist", false);
37 map.put("msg", "用户名可用");
38 }
39 System.out.println(new ObjectMapper().writeValueAsString(map));
40
41 new ObjectMapper().writeValue(response.getOutputStream(), map);
42 }
43 }