Spring MVC 中 AJAX請求并返回JSON的示例
一、以ModelAndView的方式返回
先看下JavaScript代碼:
/** * 保存-同步(版本控制庫) */ function saveSynchronizedVcHorse(obj) { var ss = $("#SynchronizedSelection div"); var cacheSelectAry = new Array() for(var i = 0; i < ss.length; i ++) { //alert(ss.eq(i).html()); //alert(ss.eq(i).find('label').html()); var o=ss.eq(i).find('label').find("input[type='checkbox']"); var s = $(o).attr('checked');//由于$(obj).attr("checked", false); checked屬性會被 if(s != null) { cacheSelectAry.push($(o).attr('value')); } } if(cacheSelectAry.length == 0) { alert("請選擇城市"); return; } var json = "SynchronizedBean={\"exceptionId\":\""+exceptionId+"\",\"cityIds\":[" for(var i = 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 @ResponseBody ModelAndView saveSynchronizedData(@RequestParam("SynchronizedBean") String mSynchronizedJSON) { ObjectMapper objectMapper = new ObjectMapper(); Map<String, String> map = new HashMap<String, String>(); try { SynchronizedBean bean = objectMapper.readValue(mSynchronizedJSON, SynchronizedBean.class); if(bean != null) { String[] ary = bean.getCityIds(); if(ary != null && ary.length > 0) { for(String s : ary) { VCHousePo po = new VCHousePo(); po.setExceptionId(bean.getExceptionId()); po.setCustomerCode(s); po.setCreateTime(new Date()); po.setExceptionState(0); vcHService.add(po); } } } map.put("msg", "success"); } catch (JsonParseException e) { e.printStackTrace(); map.put("msg", "error"); } catch (JsonMappingException e) { e.printStackTrace(); map.put("msg", "error"); } catch (IOException e) { e.printStackTrace(); map.put("msg", "error"); } return new ModelAndView(new MappingJackson2JsonView(),map); }
這里是通過ModelAndView的方式進行返回JSON的。另外:MappingJackson2JsonView使用的package是
import org.springframework.web.servlet.view.json.MappingJackson2JsonView;
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
SpringBoot與Postman實現(xiàn)REST模擬請求的操作
這篇文章主要介紹了SpringBoot與Postman實現(xiàn)REST模擬請求的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-06-06Java IO中字節(jié)流復制圖片實現(xiàn)代碼
這篇文章主要介紹了Java IO中字節(jié)流復制圖片實現(xiàn)代碼的相關資料,需要的朋友可以參考下2017-04-04POI導出之Excel實現(xiàn)單元格的背景色填充問題
這篇文章主要介紹了POI導出之Excel實現(xiàn)單元格的背景色填充問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-03-03spring整合atomikos實現(xiàn)分布式事務的方法示例
本文整合了一個spring和atomikos的demo,并且通過案例演示說明atomikos的作用,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-05-05Java通用BouncyCastle實現(xiàn)的DES3加密的方法
這篇文章主要介紹了Java通用BouncyCastle實現(xiàn)的DES3加密的方法,本文給大家介紹的非常詳細,對大家的學習或工作,具有一定的參考借鑒價值,需要的朋友可以參考下2020-12-12