先上前端javascript。ajax代码

<pre name="code" class="javascript">            function testAjaxS(){
$.ajax({
type:'post',
url:'material/testAjax',
data:'MediaId:手',
success:function(data){//返回json结果
alert("success");
}

相应的Spring mvc 接收代码

	@RequestMapping("/testAjax")
public @ResponseBody WXMedia testAjax(WXMedia wxMedia){ //值得注意的地方,參数中没有@RequestBody, 而且该POJP类必须有一个无參构造器
System.out.println(wxMedia);
return wxMedia;
}

另外一种:

		function testAjaxS(){
$.ajax({
type:'post',
url:'material/testAjax2',
//json字符串必须设置
contentType:'application/json;charset=utf-8',
//数据格式是json字符串
data:"{'MediaId':'手'}",
success:function(data){//返回json结果
alert("success");
} });

相应的spring mvc 接收代码

	@RequestMapping("/testAjax2")
public @ResponseBody WXMedia testAjax2(@RequestBody WXMedia wxMedia){ //这里有RequestBody
System.out.println(wxMedia);
return wxMedia; //返回的也会是一个json字符串,尽管方法返回值是POJO类
}

接收JSON数组:

前端代码:

function testAjaxS(){
$.ajax({
type:'post',
url:'material/testAjax3',
contentType:'application/json;charset=utf-8',
data:JSON.stringify([{"MediaId":"1"},{"MediaId":"2"}]), //2个对象
success:function(data){//返回json结果
alert("success");
} });

后台接收:

	@RequestMapping("/testAjax3")
public @ResponseBody WXMedia[] testAjax3(@RequestBody WXMedia[] wxMedia){
System.out.println(wxMedia.length);
return wxMedia;
}

总结:

@RequestBody: 接受json字符串。后面跟对应的POJO类型就可以,假设是数组则打上[],不加该注解则接收普通的參数请求

@ResponseBody:以JSON格式返回POJO对象

/* **************************2015年11月24日 11:59:13 **************************
*/

如果有这么一个对象:

            var obj = {
userId : userId,
xxxId : xxxId
}

在AJAX中用:

		function testAjaxS(){
$.ajax({
type:'post',
url:'material/testAjax2',
//json字符串必须设置
contentType:'application/json;charset=utf-8',
//数据格式是json字符串
//data:JSON.stringify(obj), // 这样会出错,发送的时候数据就会在后面多一个:,由此可得。我们仅仅用写对象即可! data: obj,
success:function(data){//返回json结果
alert("success");
} });

/* ************************** 2016年3月14日 12:06:03 **************************
*/

方法前加了

@ResponseBody 则方法參数中。不能直接使用对象 比如:
<pre style="background-color:#ffffff;color:#000000;font-family:'Consolas';font-size:12.0pt;">

@ResponseBody

public RespJSON<Map> listJson(Map map, Product product// 这个不行!。。 @RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(value = "pageSize", defaultValue = "6") Integer pageSize)


会报JSON反序列化错误

Springmvc JSON交互的更多相关文章

  1. 关于springmvc json交互产生的406错误

    产生错误的背景:springmvc使用<mvc:annotation-driven>进行配置,那么只要引入响应的json解析包就可以了.在pom中已经引入了如下: <dependen ...

  2. SpringMVC详解(六)------与json交互

    Json(JavaScript Object Notation),它是一种轻量级数据交换格式,格式简单,易于读写,目前使用特别广泛.那么这篇博客我们主要谈谈在 SpringMVC 中,如何对 json ...

  3. SpringMVC框架五:图片上传与JSON交互

    在正式图片上传之前,先处理一个细节问题: 每一次发布项目,Tomcat都会重新解压war包,之前上传过的图片会丢失 为了解决这个问题:可以不在Tomcat下保存图片,而是另找一个目录. 上传图片: & ...

  4. springMVC的高级数据绑定,以及json交互,全局异常配置,

    一.窄化请求映射 1.在class上添加@RequestMapping(url)指定通用请求前缀, 限制此类下的所有方法请求url必须以请求前缀开头,通过此方法对url进行分类管理. 如下: @Con ...

  5. springmvc实现json交互 -requestBody和responseBody

    json数据交互 1.为什么要进行json数据交互 json数据格式在接口调用中.html页面中较常用,json格式比较简单,解析还比较方便. 比如:webservice接口,传输json数据. 2. ...

  6. Ajax json交互和SpringMVC中@RequestBody

    Ajax json交互和SpringMVC中@RequestBody 标签: 背景 自己提供出去得接口中参数设置为@RequestBody VipPromotionLog vipPromotionLo ...

  7. SpringMVC之JSON交互

    #什么是json? json是一种用于储存数据格式,是js脚本语言的子集. #json的作用? 它可以传递对象.数组等数据结构.如果是单个数据,则要用数组,不用对象,因为对象都是键值对的 方式去存储, ...

  8. springMVC+json构建restful风格的服务

    首先.要知道什么是rest服务,什么是rest服务呢? REST(英文:Representational State Transfer,简称REST)描写叙述了一个架构样式的网络系统.比方 web 应 ...

  9. SpringMVC-05 Json交互处理

    SpringMVC-05 Json交互处理 Json 1.什么是JSON? JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式,目前使用特别 ...

随机推荐

  1. WinServer-授权规则

    授权规则: 使用谓词可以限制网站只能使用某一种请求 来自为知笔记(Wiz)

  2. ftp for linux 配置

    曾经配的熟悉的不能再熟悉了的东西,多年不用就忘了. 好真是好记性不如烂笔头.本文假如你已经安装好了, 1,ftp默认是不同意root用户登录的,假设要root用户登录,请例如以下改动:打开/etc/v ...

  3. codevs 3372 选学霸(hash+并查集+多重背包)

    先通过并查集处理出来有多少种不同的集合,每一个集合有多少人.一定要不要忘记了与别的没有联系的独立点. 并查集的时候能够通过hash处理出来每一个数目同样的集合的个数. 这样以人数为权值.个数为限制进行 ...

  4. BZOJ 1057: [ZJOI2007]棋盘制作 悬线法求最大子矩阵+dp

    1057: [ZJOI2007]棋盘制作 Description 国际象棋是世界上最古老的博弈游戏之一,和中国的围棋.象棋以及日本的将棋同享盛名.据说国际象棋起源于易经的思想,棋盘是一个8*8大小的黑 ...

  5. java类型与Hadoop类型之间的转换

    java基本类型与Hadoop常见基本类型的对照Long LongWritableInteger   IntWritableBoolean   BooleanWritable String Text ...

  6. NPOI简单的给某个单元格字体设置颜色

    参考文档有: https://www.cnblogs.com/gossip/p/4307486.html https://bbs.csdn.net/topics/391042064?page=1 效果 ...

  7. 如何解决bib的一些问题

    胡老师留的大作业要求综述,因而有很多文献引用.但是当使用bibtex的方法,特别是中文文献的引用会遇到一些问题. 网上相关的解答有: http://blog.sciencenet.cn/blog-10 ...

  8. Activity-数据状态的保存

    由于手机是便捷式移动设备,掌握在用户的手中,它的展示方向我们是无法预知的,具有不确定性.平时我们拿着手机多数为竖屏,但有时候我们感觉累了也会躺着去使用手机,那么这时手机屏幕的展示方向可能已经被用户切换 ...

  9. WordPress 增加 keywords 和 description

    WordPress 增加 keywords 和 description . <?php $keywords = '798资源网'; $description = '798资源网'; //文章页 ...

  10. iOS开发——循环遍历的比较

    常用的有for in.for循环.EnumerateObjectsUsingBlock 1.小规模的数据无所谓,但是对大量数据,for in 的遍历速度非常之快,不是for循环能比的: 2.对于数组, ...