一、以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;

二、返回String的形式

这种方式不做实验,请查看http://hw1287789687.iteye.com/blog/2128304

Spring MVC 中 AJAX请求并返回JSON的更多相关文章

  1. Spring MVC 学习笔记11 —— 后端返回json格式数据

    Spring MVC 学习笔记11 -- 后端返回json格式数据 我们常常听说json数据,首先,什么是json数据,总结起来,有以下几点: 1. JSON的全称是"JavaScript ...

  2. Spring MVC中forward请求转发2种方式(带参数)

    Spring MVC中forward请求转发2种方式(带参数) http://www.51gjie.com/javaweb/956.html  

  3. Spring MVC 中Ajax返回字符串

    今天想用Ajax返回一个html的字符串数据. JavaScript代码: function saveMarkSolve() { //editor1.sync(); //var s = editor1 ...

  4. 如何在.NET MVC中使用jQuery并返回JSON数据

    http://blog.csdn.net/dingxingmei/article/details/9092249 开始实践 - jQuery端 假设我们要从服务器端获取一个文章列表,并把文章条目显示在 ...

  5. Spring MVC控制器用@ResponseBody声明返回json数据报406的问题

    本打算今天早点下班,结果下午测试调试程序发现一个问题纠结到晚上才解决,现在写一篇博客来总结下. 是这样的,本人在Spring mvc控制层用到了@ResponseBody标注,以便返回的数据为json ...

  6. 转转转!!Spring MVC控制器用@ResponseBody声明返回json数据报406的问题

    本打算今天早点下班,结果下午测试调试程序发现一个问题纠结到晚上才解决,现在写一篇博客来总结下. 是这样的,本人在Spring mvc控制层用到了@ResponseBody标注,以便返回的数据为json ...

  7. [转]如何在.NET MVC中使用jQuery并返回JSON数据

    本文转自:http://blog.sina.com.cn/s/blog_48e42dc90100xp1p.html 二.开始实践 - jQuery端 假设我们要从服务器端获取一个文章列表,并把文章条目 ...

  8. 使用ajax请求SpringMVC返回Json出现乱码解决方法

    1:在使用ajax请求后台访问数据的数据,后台返回的数据是乱码,带??问号的乱码,之前还一直没有遇到过,在这里记录整理一下,贴出解决代码! (1):前台使用ajax ,已经设定返回的结果为json格式 ...

  9. spring mvc ajaxfileupload文件上传返回json下载问题

    问题:使用spring mvc ajaxfileupload 文件上传在ie8下会提示json下载问题 解决方案如下: 服务器代码: @RequestMapping(value = "/ad ...

随机推荐

  1. BZOJ1509 [NOI2003]逃学的小孩 树型DP

    题目: 分析: 首先明确我们是要求 min(dist[C][A],dist[C][B])+dist[A][B]. 我们把C当成树根,第一我们可以发现min里面取dist[C][A]或者dist[C][ ...

  2. App图标生成器的实现,附源码

    背景 网上各种生成app图标的网站和工具,感觉还是用自己写的心里畅快点,所以花了1个小时自己写了个.按照网上给的图标尺寸规范把所有尺寸的都生成了. 建了一个讨论群,533838427.很明显是针对独立 ...

  3. MSSQL SELECT(刚刚)新插入到表中的那条记录

    假设对表 TXxxxxxxx 表新插入一条记录,然后要 SELECT 出刚刚插入的这条记录.可使用 SCOPE_IDENEITY(); 处理.具体代码参考如下: INSERT INTO TXxxxxx ...

  4. Zookeeper启动和集群选举

    1. QuorumPeerMain运行 1)判断是采用单实例模式还是多实例模式启动QuorumPeerMain 2)在多实例模式下,加载启动参数中指定的配置文件 3)启动QuorumPeer publ ...

  5. HDU 4671 Backup Plan (2013多校7 1006题 构造)

    Backup Plan Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65535/65535 K (Java/Others)Total ...

  6. VirtualBox 4.3.18 启动虚拟机时显示不能加载 R3模块并退出故障解决一例

    VirtualBox 升级到 4.3.1x后一直问题不断.搜了些资料,发现这货从最近的某个版本开始,为了安全,要校验进程完整性,那些在运行时要注入Virtualbox进程的模块都要进行校验.于是乎出现 ...

  7. mysql-connector-odbc-8.0.11-winx64.msi安装失败

    mysql-connector-odbc-8.0.11-winx64.msi安装失败 提示需要Redistributable for Visual Studio 2015 去下载 vc_redist. ...

  8. Memcached源码分析——连接状态变化分析(drive_machine)

    这篇文章主要介绍Memcached中,基于libevent构造的主线程和worker线程所处理连接的状态互相转换的过程(不涉数据的存取等操作),也就是drive_machine的主要业务逻辑了.状态转 ...

  9. SharePoint 2013 代码创建应用程序目录(App Catalog)

    众所周知,SharePoint App是2013版本的一大特色,那么,关于App的分发有几种方式呢?SharePoint给我们提供了两种方式,一种是上载到SharePoint应用商店,另一种是在本地S ...

  10. android用jsonReader来解析json

    对于这个json: { "id" : "3232", "data" : [{ "data1" : "555&q ...