Spring MVC 中 AJAX请求并返回JSON的示例
一、以ModelAndView的方式返回
先看下JavaScript代码:
/**
*保存-同步(版本控制库)
*/
functionsaveSynchronizedVcHorse(obj){
varss=$("#SynchronizedSelectiondiv");
varcacheSelectAry=newArray()
for(vari=0;i<ss.length;i++){
//alert(ss.eq(i).html());
//alert(ss.eq(i).find('label').html());
varo=ss.eq(i).find('label').find("input[type='checkbox']");
vars=$(o).attr('checked');//由于$(obj).attr("checked",false);checked属性会被
if(s!=null){
cacheSelectAry.push($(o).attr('value'));
}
}
if(cacheSelectAry.length==0){
alert("请选择城市");
return;
}
varjson="SynchronizedBean={\"exceptionId\":\""+exceptionId+"\",\"cityIds\":["
for(vari=0;i<cacheSelectAry.length;i++){
if(i==cacheSelectAry.length-1){
json=json+"\""+cacheSelectAry[i]+"\"";
}else{
json=json+"\""+cacheSelectAry[i]+"\",";
}
}
json=json+"]}";
$.ajax({
type:"POST",
dataType:"json",
url:"../main/saveSynchronizedData",
data:json,
success:function(msg){
alert(msg.main);
},
error:function(){//XMLHttpRequest,textStatus,errorThrown
alert("请求失败");
}
});
}
主要是看ajax请求部分。
再看Spring中控制器的代码:
@RequestMapping(value="/saveSynchronizedData",method=RequestMethod.POST)
public@ResponseBodyModelAndViewsaveSynchronizedData(@RequestParam("SynchronizedBean")StringmSynchronizedJSON){
ObjectMapperobjectMapper=newObjectMapper();
Map<String,String>map=newHashMap<String,String>();
try{
SynchronizedBeanbean=objectMapper.readValue(mSynchronizedJSON,SynchronizedBean.class);
if(bean!=null){
String[]ary=bean.getCityIds();
if(ary!=null&&ary.length>0){
for(Strings:ary){
VCHousePopo=newVCHousePo();
po.setExceptionId(bean.getExceptionId());
po.setCustomerCode(s);
po.setCreateTime(newDate());
po.setExceptionState(0);
vcHService.add(po);
}
}
}
map.put("msg","success");
}catch(JsonParseExceptione){
e.printStackTrace();
map.put("msg","error");
}catch(JsonMappingExceptione){
e.printStackTrace();
map.put("msg","error");
}catch(IOExceptione){
e.printStackTrace();
map.put("msg","error");
}
returnnewModelAndView(newMappingJackson2JsonView(),map);
}
这里是通过ModelAndView的方式进行返回JSON的。另外:MappingJackson2JsonView使用的package是
importorg.springframework.web.servlet.view.json.MappingJackson2JsonView;
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。