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;
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。