AJAX请求及JSON数据处理(SpringMVC)
简介:
AJAX: Asynchronous JavaScript and XML(异步的JavaScript和XML)
JSON: JavaScript Object Notation(JavaScript 对象表示法)
请求常用格式
var 变量名= $.trim($("#标签id").val()); //获取标签内容
$.ajax({
type:"POST", //请求方式(get…)
url:'请求地址' , //请求地址
data:{key:变量名,key:"value",…}, //发送的数据
dataType:'json', //发送的数据格式
cache:false, //不使用缓存(使用缓存)
async:false, //同步请求(异步请求)
success: function(data){ //回调函数
data数据处理 //data为后台返回的数据
}
});
Json数据处理
后台处理
请求Json处理
1: 以RequestParam的方式接收
@RequestMapping(value = "/update")
@ResponseBody
public String updateAttr(@RequestParam ("id") int id) { //作为参数
int res=accomodationService.deleteData(id); //函数内部可以直接使用
return "success";
}
2以实体类的方式接收
@RequestMapping(value = "/add")
@ResponseBody
public String addObj(@RequestBody Accomodation accomodation) { //实体类作为参数
this.accomodationService.insert(accomodation); //内部直接使用
return "success";
}
3以map进行接收
@RequestMapping(value = "/update")
@ResponseBody
public String updateAttr(@RequestBody Map<String, String> map) { //map作为参数
if(map.containsKey("id"){
Integer id = Integer.parseInt(map.get("id"));
}
if(map.containsKey("name"){
String objname = map.get("name").toString();
}
return "success";
}
4以list进行接收
@RequestMapping(value = "/update")
@ResponseBody
public String updateAttr(@RequestBody List<Accomodation> list) {
for(Accomodation accomodation:list){
System.out.println(accomodation.toString());
}
return "success";
}
注: 这只是简单的接收前台数据的方式,企业中更多是自己进行请求数据的封装,如pagedata等专门用来进行前端数据的处理和使用,或者分页的工具类等等,当然如果大家有兴趣可以利用上述方法进行简单的前端请求数据封装,在业务逻辑较为复杂的情况下,会极大的提高效率,controller中也不需要再对数据进行格式化处理.
返回Json处理
1采用@ResponseBody注解
@ResponseBody这个注解通常使用在控制层(controller)的方法上,其作用是将方法的返回值以特定的格式写入到response的body区域,进而将数据返回给客户端。
@ResponseBody通过HttpMessageConverter中的方法实现控制层的数据转化为json格式的字符串,至于转化的方法,大家可以去查看源码.
2使用JSON-lib工具包进行数据转换
JSON-lib包是一个beans,collections,maps,java arrays 和XML和JSON互相转换的包.
具体包的使用在这里就不多做赘述了.
关于前台处理的补充
注:
给对应的input赋值使用 $("#id").val(json.id),
将json类型字符串转换为json对象 var json=eval("("+data+")"),
可以使用 JSON.parse()方法将数据转换为JavaScript对象,
可以使用 JSON.stringify()方法将 JavaScript对象转换为字符串.
上一篇: 前后端交互的方式
推荐阅读
-
AJAX请求及JSON数据处理(SpringMVC)
-
SpringMVC的Ajax请求实现前后端分离
-
Spring MVC 中 AJAX请求并返回JSON的示例
-
Spring MVC 中 AJAX请求并返回JSON的示例
-
php+ajax+json 详解及实例代码
-
SpringMVC解析JSON请求数据问题解析
-
SpringMVC解析JSON请求数据问题解析
-
Springmvc ajax跨域请求处理方法实例详解
-
Spring MVC Controller与jquery ajax请求处理json 博客分类: 学习笔记 springmvcjqueryjson
-
【Spring in action】基于Java配置SpringMVC中使用Spring及SpringMVC各种请求详解