SpringMVC@RequestBody获取发送的ajax请求数据

在获取前端发送的ajax请求时,如果不使用@RequestBody则拿不到请求体中的数据,那么我们来使用@RequestBody获取ajax请求发送的数据

  • response.jsp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<html>
<head>
<title>Title</title>
<%--引入资源--%>
<script src="js/jquery-1.11.1.js"></script>
<script>
//页面加载,绑定单击事件
$(function () {
$("#btn").click(function () {
//alert("hello btn");
//发送ajax请求
$.ajax({
//编写json格式,设置属性和值
url:"user/testAjax",
contentType:"application/json;charset=UTF-8",
data:'{"username":"hk","password","5201314","age","20"}',
dataType:"json",
type:"post",
success:function (data) {
//data服务器端响应的json的数据,进行解析
}
});
});
});
</script>
</head>
<body>

<%-- 模拟异步请求ajax--%>
<button id="btn">发送ajax的请求</button>
</body>
</html>
  • UserController.class(控制器)
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    @Controller
    @RequestMapping("/user")
    public class UserController {
    /**
    * 模拟异步请求响应
    */
    @RequestMapping("/testAjax")
    public void testAjax(@RequestBody String body){
    System.out.println("testAjax执行了...");
    System.out.println(body);
    }
    }

    注意:使用@RequestBody是为了获得请求体中的所有内容

  • 运行
    在这里插入图片描述

    点击发送ajax请求,然后我们查看控制台

    在这里插入图片描述

    这样我们就可以拿到了ajax请求中的所有的数据了!