Springmvc JSON交互
先上前端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交互的更多相关文章
- 关于springmvc json交互产生的406错误
产生错误的背景:springmvc使用<mvc:annotation-driven>进行配置,那么只要引入响应的json解析包就可以了.在pom中已经引入了如下: <dependen ...
- SpringMVC详解(六)------与json交互
Json(JavaScript Object Notation),它是一种轻量级数据交换格式,格式简单,易于读写,目前使用特别广泛.那么这篇博客我们主要谈谈在 SpringMVC 中,如何对 json ...
- SpringMVC框架五:图片上传与JSON交互
在正式图片上传之前,先处理一个细节问题: 每一次发布项目,Tomcat都会重新解压war包,之前上传过的图片会丢失 为了解决这个问题:可以不在Tomcat下保存图片,而是另找一个目录. 上传图片: & ...
- springMVC的高级数据绑定,以及json交互,全局异常配置,
一.窄化请求映射 1.在class上添加@RequestMapping(url)指定通用请求前缀, 限制此类下的所有方法请求url必须以请求前缀开头,通过此方法对url进行分类管理. 如下: @Con ...
- springmvc实现json交互 -requestBody和responseBody
json数据交互 1.为什么要进行json数据交互 json数据格式在接口调用中.html页面中较常用,json格式比较简单,解析还比较方便. 比如:webservice接口,传输json数据. 2. ...
- Ajax json交互和SpringMVC中@RequestBody
Ajax json交互和SpringMVC中@RequestBody 标签: 背景 自己提供出去得接口中参数设置为@RequestBody VipPromotionLog vipPromotionLo ...
- SpringMVC之JSON交互
#什么是json? json是一种用于储存数据格式,是js脚本语言的子集. #json的作用? 它可以传递对象.数组等数据结构.如果是单个数据,则要用数组,不用对象,因为对象都是键值对的 方式去存储, ...
- springMVC+json构建restful风格的服务
首先.要知道什么是rest服务,什么是rest服务呢? REST(英文:Representational State Transfer,简称REST)描写叙述了一个架构样式的网络系统.比方 web 应 ...
- SpringMVC-05 Json交互处理
SpringMVC-05 Json交互处理 Json 1.什么是JSON? JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式,目前使用特别 ...
随机推荐
- 20130910.Windows上安装和配置MongoDB
官方文档:http://docs.mongodb.org/manual/tutorial/ 1.下载软件 http://www.mongodb.org/downloads 2.解压 解压后进入bin目 ...
- vue-router的创建(1)
vue-router的创建 <!doctype html> <html lang="en"> <head> <meta charset=& ...
- 模块打包机--webpack--基础使用
什么是webpack? 作用有哪些? WebPack可以看做是模块打包机:它做的事情是,分析你的项目结构,找到JavaScript模块以及其它的一些浏览器不能直接运行的拓展语言(Scss,Type ...
- MyBatis学习总结(4)——解决字段名与实体类属性名不相同的冲突
一.准备演示需要使用的表和数据 CREATE TABLE orders( order_id INT PRIMARY KEY AUTO_INCREMENT, order_no VARCHAR(20), ...
- Java分布式爬虫Nutch教程——导入Nutch工程,执行完整爬取
Java分布式爬虫Nutch教程--导入Nutch工程,执行完整爬取 by briefcopy · Published 2016年4月25日 · Updated 2016年12月11日 在使用本教程之 ...
- iis解析json
一. windows XP 1. MIME设置:在IIS的站点属性的HTTP头设置里,选MIME 映射中点击”文件类型”-”新类型”,添加一个文件类型:关联扩展名:*.json内容类型(MIME):a ...
- COGS——T 2342. [SCOI2007]kshort || BZOJ——T 1073
http://www.cogs.pro/cogs/problem/problem.php?pid=2342 ★★☆ 输入文件:bzoj_1073.in 输出文件:bzoj_1073.out ...
- HH实习(hpu1287)(斐波那契运用)
HH实习 Time Limit: 1 Sec Memory Limit: 128 MB Submit: 44 Solved: 29 [Submit][id=1287">Status ...
- Linux 0.11中write实现
看了一下Linux 0.11版本号write的实现,首先它在标准头文件unistd.h中有定义 int write(int fildes, const char * buf, off_t count) ...
- java基础之get和post的差别
上篇博文讲到HTTP协议,本篇介绍HTTP请求方法中get和post的差别: 首先,最明显的一点表象上的差别:GET 方式.将请求參数附加在url之后,POST将请求參数附加在请求头的最后 以下具体说 ...