一直以为在SpringMVC环境中,@RequestBody接收的是一个json对象,调试代码时没有成功,后来才发现,其实 @RequestBody接收的是一个json字符串,而不是一个json对象。

  解决方案:用JSON.stringify(data)的方式将对象变成字符串,同时ajax请求的时候也要指定dataType: "json",contentType:"application/json" ,这样就可以轻易的将一个对象传到Java端,使用@RequestBody即可绑定对象。

  contentType:默认为"application/x-www-form-urlencoded",该默认值适合大多数应用场合。"application/json"表明参数是json字符串。

  dataType: 预期服务器返回的数据类型。可用的类型如下:

  • xml:返回XML文档,可用JQuery处理;
  • html:返回纯文本HTML信息;包含的script标签会在插入DOM时执行;
  • script:返回纯文本JavaScript代码,不会自动缓存结果,除非设置了cache参数,注意在远程请求时(不在同一个域下),所有post请求都将转为get请求;
  • json:返回JSON数据;
  • jsonp:JSONP格式。使用SONP形式调用函数时,例如myurl?callback=?,JQuery将自动替换后一个 “?”为正确的函数名,以执行回调函数;
  • text:返回纯文本字符串。

js代码:

$.ajax({
url : context + "/service/message/saveZbl",
data :JSON.stringify({"uuid":uuid,"tableName":tableName,"columnName":columnName}),
dataType: "json",
contentType:"application/json",
type:"POST",
success : function(data){
if(data > 0){
dialog.close();
dialog.remove();
return false;
}else{
$.sticky(
"保存失败",
{
style : 'success',
autoclose : 1000,
position : 'center'
});
}
}
});

Java代码:

@RequestMapping(value = "/saveZbl")
@ResponseBody
public int saveZbl(HttpServletRequest request,@RequestBody JcZntxZbb zbb) {
return 1;
}

@RequestBody接收的是一个json对象的更多相关文章

  1. Highcharts接收后台传来的json对象值无法显示

    在highcharts接收后台传来的json对象网上已经有很多的介绍,在此不多做说明,这里想记录一笔的是在接收的json解析后的value值是String类型的,而highcharts里的data数组 ...

  2. spring MVC 如何接收前台传入的JSON对象数组并处理

    spring MVC 如何接收前台传入的JSON对象数组 主要方法: (主要用到的包是 net.sf.json  即:json-lib-2.3-jdk15.jar 完整相关jar包: commons- ...

  3. spring MVC 如何接收前台传入的JSON对象数组

    spring MVC 如何接收前台传入的JSON对象数组 主要方法: (主要用到的包是 net.sf.json  即:json-lib-2.3-jdk15.jar 完整相关jar包: commons- ...

  4. 如何遍历一个JSON对象的属性值???

    当遇到一个JSON格式的对象时,不知道它有多少个属性,也不知道有什么属性,该如何遍历它的属性及其属性值呢??? 还是使用Java语言还是很像的,使用for语句. var obj = data[i]; ...

  5. 第3章 springboot接口返回json 3-1 SpringBoot构造并返回一个json对象

    数据的使用主要还是以JSON为主,我们不会去使用XML. 这个时候我们先不使用@RestController,我们使用之前SpringMVC的那种方式,就是@Controller.  @Respons ...

  6. 最简单的前端获取后台的json值(后台怎么返回一个json对象到前台)

    (说一下这个外部包jackson一般不用了,现在大家都用马云儿子的FastJson 下面服务器代码我就不改了大家随意用什么外部包)2019.1.14日改 我使用了外部包jackson(杰克逊哈哈哈啊) ...

  7. SpringMVC返回一个JSON对象到界面

    首先明确,在JavaScript中并没有类型这一说,只有一个类型就是var.我们要做的就是让JavaScript得到我们返回的一个对象让它以某种方式去处理数据. 前端代码 后台代码 @RequestB ...

  8. PHP判断一个JSON对象是否含有某一个属性的方法

    property_exists比如:var json={"code":400,"msg":"User Err"} var rest=prop ...

  9. 把连接中传的参数截取出来变成一个json对象

    获取url function test() { var url=window.location.search; if(url.indexOf("?")!=-1) { var str ...

随机推荐

  1. which

    功能说明:显示命令的全路径.   参数选项: -a  默认在PATH路径中由前往后查找命令,如果查找到了,就停止匹配.使用-a选项将遍历所有PATH路径,输出所有匹配项.   参数-a把所有匹配命令路 ...

  2. MFC cstring 型转化成 double型

    cstring szNum; GetDlgItemText(IDC_EDIT1, szNum); double Num; Num = _ttol(szNum); 转化成长整型 Num = _tstof ...

  3. Typescript编译设置

    TypeScript MSBuild编译选项,用记事本打开工程文件,进行修改,如<TypeScriptGeneratesDeclarations>true</TypeScriptGe ...

  4. session_start(): open(/var/lib/php/session/sess_tlrp3cpro7gun9uhno8n6futr3, O_RDWR)

    在安装一个网站,结果连接上数据库了但是一直报错.下面贴报错内容和图 错误提示 系统:PHP (Linux) 错误类型:WARNING 内容:session_start(): open(/) 错误位置: ...

  5. 戴尔14G服务器用H740P配置阵列

    公司采购了几台dell r740机器.做阵列的方式跟之前ctrl+r有很大改动. 戴尔14G机器已经面世一段时间了,14G的机器使用过后都能发现器性能比上一代机器提升了很多,今天给大家带来戴尔14代服 ...

  6. docker和jenkins安装启动

    docker安装Jenkins 1.安装Docker 1.1 yum 包更新到最新 sudo yum update 1.2 安装需要的软件包, yum-util 提供yum-config-manage ...

  7. BZOJ 2626: JZPFAR KDtree + 堆

    Code: #include<bits/stdc++.h> #define maxn 200000 #define inf 1000000000000000 #define mid ((l ...

  8. ansible - playbook(剧组)

    目录 ansible - playbook(剧组) 常用命令 五种传参方式 常用元素详解 tags handlers template when 循环 嵌套循环 ansible - playbook( ...

  9. PAT 1093. Count PAT's

    The string APPAPT contains two PAT's as substrings. The first one is formed by the 2nd, the 4th, and ...

  10. 53. Maximum Subarray(动态规划)

    Find the contiguous subarray within an array (containing at least one number) which has the largest ...