介绍
这里简单写一下 springmvc 下 页面 js 使用 ajax 请求和返回的 json 数据交互
标签介绍
@RequestBody @RequestBody 注解用于读取 http 请求的内容(字符串),通过 springmvc 提供的HttpMessageConverter 接口将读到的内容转换为 json 、xml 等格式的数据并绑定到 controller 方法的参数上。 eg : List.action?id=1&name=zhangsan&age=12 本例子应用: @RequestBody 注解实现接收 http 请求的 json 数据,将 json 数据转换为 java 对象
@ResponseBody @ResponseBody 注解用于将 Controller 的方法返回的对象,通过 HttpMessageConverter 接口转换为指定格式的数据如:json , xml等,通过 Response 响应给客户端 本例子应用: @ResponseBody 注解实现将 controller 方法返回对象转换为 json 响应给客户端
环境准备
Springmvc 默认用 MappingJacksonHttpMessageConverter 对 json 数据进行转换,需要加入 jackson 的包
配置 json 转换器
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
<property name="messageConverters">
<list>
<bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"></bean>
</list>
</property>
</bean>
**注意**:如果使用
<mvc:annotation-driven /> 则不用定义上边的内容。
Controller 编写
@RequestMapping(
"/xxx")
public @ResponseBody String
xxx(@RequestBody Pojo pojo)
throws JsonProcessingException{
System.out.println(pojo);打印前台接受的参数
String valueAsString = mapper.writeValueAsString(
"ok");
return valueAsString;
直接
return 你要的 ,当然 ,注意方法的返回类型
}
js - ajax 方法编写
1. 首先引入 js
<script src="${pageContext.request.contextPath}/js/jquery-1.11.3.min.js"></script>
2. ajax 编码
$.ajax({
url :
"url 请求 controller ",
dataType :
"json",
type :
"post",
data : {
"pid" : pid //这里传递pojo 属性,会自动封装到 pojo
},
success :
function(data) {
alert(
"删除成功!")
load();//这里不放写个刷新页面的方法
},
error :
function() {
alert(
"网络错误 , 删除失败! 请重试")
}
})
//当然
$.post(
...);
$.get(
...);
也是可以使用的哦
不妨看看请求头 , 响应体 , 您刚刚提交 返回的数据吧 ~~~~
转载请注明原文地址: https://ju.6miu.com/read-38251.html