本文介绍: RequestBody可以获取请求体信息,使用@RequestBody注解标识控制器方法的形参,当前请求的请求体就会为当前注解所标识的形参赋值–此时必须使用post请求方式,因为get请求没有请求体–>用户名:密码:输出结果就是在页面填写的值。@RequestBody获取json格式的请求参数。
目录
本文讲解两种方式实现SpringMVC与Ajax交互,1、通过SpringMVC提供的注解@RequestBody处理ajax请求;2、通过JavaEE时期的Servlet来处理
@RequestBody注解简单介绍
@RequestBody可以获取请求体信息,使用@RequestBody注解标识控制器方法的形参,当前请求的请求体就会为当前注解所标识的形参赋值
<!--此时必须使用post请求方式,因为get请求没有请求体-->
<form th:action="@{/test/RequestBody}" method="post">
用户名:<input type="text" name="username"><br>
密码:<input type="password" name="password"><br>
<input type="submit">
</form>
@RequestMapping("/test/RequestBody")
public String testRequestBody(@RequestBody String requestBody){
System.out.println("requestBody:"+requestBody);
return "success";
}
输出结果就是在页面填写的值。
@RequestBody获取json格式的请求参数
在使用ajax时发送的数据必须是json字符串
创建一个user实体类对象
//将json格式的数据转换为实体类对象
@RequestMapping("/test/RequestBody/json")
public void testRequestBody(@RequestBody User user, HttpServletResponse response) throws IOException, IOException {
System.out.println(user);
//User{id=null, username='admin', password='123456', age=null, gender='null'}
response.getWriter().print("hello,axios");
}
前端ajax格式:
$.ajax({
url: 'test/RequestBody/json',
type: 'POST',
contentType: 'application/json', // 设置内容类型
//必须是json字符串
data: '{"username": "admin", "password":"123456"}' ,//JSON.stringify(data), // 将数据转换为JSON字符串
dataType: 'text', // 指定预期的服务器响应数据类型也为JSON
success: function(response) {
alert(response);
},
error: function(xhr, status, error) {
console.error('Error:', error);
}
});
Servlet方式处理ajax请求
不用加上@RequestBody注解
@RequestMapping("/test/RequestOOBody/json")
public void testRequestBody(User user, HttpServletResponse response) throws IOException, IOException {
System.out.println(user);
//User{id=null, username='admin', password='123456', age=null, gender='null'}
response.getWriter().print("hello,axios");
}
前端
$.ajax({
url: 'test/RequestOOBody/json',
type: 'POST',
contentType: 'application/x-www-form-urlencoded', // 设置内容类型
data: "username=shang&password=123456" ,
dataType: 'text', // 指定预期的服务器响应数据类型也为JSON
success: function(response) {
alert(response);
},
error: function(xhr, status, error) {
console.error('Error:', error);
}
});
这两种方式的区别在前端ajax请求时数据的类型要求,使用SpringMVC注解方式就必须传json字符串形式的数据。传统JavaEE方式就是&连接的字符串,contentType也要随之改变。
原文地址:https://blog.csdn.net/m0_66111719/article/details/135957957
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_63723.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。