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;
二、返回String的形式
这种方式不做实验,请查看http://hw1287789687.iteye.com/blog/2128304
Spring MVC 中 AJAX请求并返回JSON的更多相关文章
- Spring MVC 学习笔记11 —— 后端返回json格式数据
Spring MVC 学习笔记11 -- 后端返回json格式数据 我们常常听说json数据,首先,什么是json数据,总结起来,有以下几点: 1. JSON的全称是"JavaScript ...
- Spring MVC中forward请求转发2种方式(带参数)
Spring MVC中forward请求转发2种方式(带参数) http://www.51gjie.com/javaweb/956.html
- Spring MVC 中Ajax返回字符串
今天想用Ajax返回一个html的字符串数据. JavaScript代码: function saveMarkSolve() { //editor1.sync(); //var s = editor1 ...
- 如何在.NET MVC中使用jQuery并返回JSON数据
http://blog.csdn.net/dingxingmei/article/details/9092249 开始实践 - jQuery端 假设我们要从服务器端获取一个文章列表,并把文章条目显示在 ...
- Spring MVC控制器用@ResponseBody声明返回json数据报406的问题
本打算今天早点下班,结果下午测试调试程序发现一个问题纠结到晚上才解决,现在写一篇博客来总结下. 是这样的,本人在Spring mvc控制层用到了@ResponseBody标注,以便返回的数据为json ...
- 转转转!!Spring MVC控制器用@ResponseBody声明返回json数据报406的问题
本打算今天早点下班,结果下午测试调试程序发现一个问题纠结到晚上才解决,现在写一篇博客来总结下. 是这样的,本人在Spring mvc控制层用到了@ResponseBody标注,以便返回的数据为json ...
- [转]如何在.NET MVC中使用jQuery并返回JSON数据
本文转自:http://blog.sina.com.cn/s/blog_48e42dc90100xp1p.html 二.开始实践 - jQuery端 假设我们要从服务器端获取一个文章列表,并把文章条目 ...
- 使用ajax请求SpringMVC返回Json出现乱码解决方法
1:在使用ajax请求后台访问数据的数据,后台返回的数据是乱码,带??问号的乱码,之前还一直没有遇到过,在这里记录整理一下,贴出解决代码! (1):前台使用ajax ,已经设定返回的结果为json格式 ...
- spring mvc ajaxfileupload文件上传返回json下载问题
问题:使用spring mvc ajaxfileupload 文件上传在ie8下会提示json下载问题 解决方案如下: 服务器代码: @RequestMapping(value = "/ad ...
随机推荐
- BZOJ2754 [SCOI2012]喵星球上的点名 SA+莫队+树状数组
题面 戳这里 题解 首先先把所有给出的姓名和询问全部接在一起,建出\(height\)数组. 某个串要包含整个询问串,其实就相当于某个串与询问串的\(lcp\)为询问串的长度. 而两个后缀\(Suff ...
- 【9.22校内测试】【可持久化并查集(主席树实现)】【DP】【点双联通分量/割点】
1 build1.1 Description从前有一个王国,里面有n 座城市,一开始两两不连通.现在国王将进行m 次命令,命令可能有两种,一种是在u 和v 之间修建道路,另一种是询问在第u 次命令执行 ...
- USACO 2017 FEB Platinum nocross DP
题目大意 上下有两个长度为n.位置对应的序列A.B,其中数的范围均为1~n.若abs(A[i]-B[j]) <= 4,则A[i]与B[j]间可以连一条边.现要求在边与边不相交的情况下的最大的连边 ...
- poj2117 Electricity
试题描述 求一个图删除一个点之后,联通块最多有多少. 输入 多组数据.第一行两个整数 P,C 表示点数和边数.接下来 C 行每行两个整数 p1,p2,表示 p1 与 p2 有边连接,保证无重边.读 ...
- Java-方法的覆写
class parent { void print() { System.out.println("parent"); } } class child extends p ...
- 解决kylin查询报错:org.apache.kylin.rest.exception.InternalErrorException
报错信息: -- ::, ERROR [Query 12e9c054-760c---b1f06724c9b6-] service.QueryService: : Exception when exec ...
- 尝试PWA
1.一个 PWA 应用首先是一个网页, 可以通过 Web 技术编写出一个网页应用. 随后添加上 App Manifest 和 Service Worker 来实现 PWA 的安装和离线等功能. 2.创 ...
- WPF性能调试系列 – 应用程序时间线
WPF性能调试系列文章: WPF页面渲染优化:Application Timeline WPF页面业务加载优化:Ants Performance Profiler WPF内存优化:Ants Memor ...
- java获取系统进程号
public static final int jvmPid() { try { RuntimeMXBean runtime = ManagementFactory.getRuntimeMXBean( ...
- linux文本文件按列合并
http://blog.163.com/liang8421@126/blog/static/894819572009386653912/ 我想把文本文件file1 和文本文件 file2按照相应的行合 ...