jQuery.ajax向后台传递数组问题的解决方法


Posted in jQuery onMay 12, 2017

今天重温了一个问题,jQuery.ajax向后台传递一个数组,而在后台接收不到该值。

前台js方法部分代码如下:

//创建一个测试数组
var boxIds = new Array();
boxIds.push(12182);
boxIds.push(12183);
boxIds.push(12184);
//向后台交互
$.ajax({
  url: "/xxx",
  type: "GET",
  data: {
    "boxIds": boxIds,
    "boxType": 0,
    "time": new Date().getTime()
  },
  success: function(data) {
    //do sth...
  }
});

后台controller代码(SpringMVC)

@ResponseBody
@RequestMapping(value = "/box/changeLock")
public String changeLock(final Long[] boxIds, final int boxType) {
  return locker_ChangeLockService.changeLock(boxIds, boxType);
}

观察浏览器中发送的请求,可以发现参数如下:

jQuery.ajax向后台传递数组问题的解决方法

可以看到,参数的名字为boxIds[]而不是我们所定义的boxIds,也就是说,当传递数组时,会在我们的数组名称后自动加上”[]”,所以后台接不到。

解决办法:

设置jQuery.ajax的tradional属性

$.ajax({
  url: "/xxx",
  type: "GET",
  data: {
    "boxIds": boxIds,
    "boxType": 0,
    "time": new Date().getTime()
  },
  traditional: true,//这里设置为true
  success: function(data) {
    //do sth...
  }
});

修改之后重新发出请求,观察浏览器:

jQuery.ajax向后台传递数组问题的解决方法

请求参数2

这次参数不带”[]”了,并且后台可以成功接收到该数组。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

jQuery 相关文章推荐
jQuery插件HighCharts绘制简单2D柱状图效果示例【附demo源码】
Mar 21 jQuery
jQuery设置图片等比例缩小的方法
Apr 29 jQuery
jQuery获取单选按钮radio选中值与去除所有radio选中状态的方法
May 20 jQuery
使用jQuery实现页面定时弹出广告效果
Aug 24 jQuery
解决jquery appaend元素中id绑定事件失效的问题
Sep 12 jQuery
详解在vue-cli中引用jQuery、bootstrap以及使用sass、less编写css
Nov 08 jQuery
jQuery+Cookie实现切换皮肤功能【附源码下载】
Mar 25 jQuery
jQuery插件Validation表单验证详解
May 26 jQuery
jQuery实现ajax回调函数带入参数的方法示例
Jun 26 jQuery
jquery图片预览插件实现方法详解
Jul 18 jQuery
js判断复选框是否选中的方法示例【基于jQuery】
Oct 10 jQuery
JQuery常用简单动画操作方法回顾与总结
Dec 07 jQuery
jQuery遮罩层实例讲解
May 11 #jQuery
jQuery zTree树插件动态加载实例代码
May 11 #jQuery
jQuery实现的简单在线计算器功能
May 11 #jQuery
jQuery+PHP+Mysql实现抽奖程序
Apr 12 #jQuery
JQuery实现定时刷新功能代码
May 09 #jQuery
jQuery插件开发发送短信倒计时功能代码
May 09 #jQuery
jquery.uploadifive插件怎么解决上传限制图片或文件大小问题
May 08 #jQuery
You might like
php读取数据库信息的几种方法
2008/05/24 PHP
8个出色的WordPress SEO插件收集
2011/02/26 PHP
php遍历文件夹下的所有文件和子文件夹示例
2014/03/20 PHP
php抛出异常与捕捉特定类型的异常详解
2016/10/26 PHP
转一个日期输入控件,支持FF
2007/04/27 Javascript
javascript 按回车键相应按钮提交事件
2009/11/02 Javascript
JQuery动画animate的stop方法使用详解
2014/05/09 Javascript
详述JavaScript实现继承的几种方式(推荐)
2016/03/22 Javascript
AngularJs ng-repeat 嵌套如何获取外层$index
2016/09/21 Javascript
JavaScript浮点数及运算精度调整详解
2016/10/21 Javascript
JS简单判断滚动条的滚动方向实现方法
2017/04/28 Javascript
ionic3 懒加载
2017/08/16 Javascript
深入了解Hybrid App技术的相关知识
2019/07/17 Javascript
使用 Opentype.js 生成字体子集的实例代码详解
2020/05/25 Javascript
基于PHP pthreads实现多线程代码实例
2020/06/24 Javascript
jQuery实现容器间的元素拖拽功能
2020/12/01 jQuery
[02:08:58]2014 DOTA2国际邀请赛中国区预选赛 Ne VS CIS
2014/05/22 DOTA
采用Psyco实现python执行速度提高到与编译语言一样的水平
2014/10/11 Python
在Python中用has_key()方法查找键是否存在的教程
2015/05/21 Python
详解Python爬虫的基本写法
2016/01/08 Python
python实现字符串连接的三种方法及其效率、适用场景详解
2017/01/13 Python
python实现Virginia无密钥解密
2019/03/20 Python
python识别图像并提取文字的实现方法
2019/06/28 Python
python 中如何获取列表的索引
2019/07/02 Python
手动安装python3.6的操作过程详解
2020/01/13 Python
Django日志及中间件模块应用案例
2020/09/10 Python
使用OpenCV实现人脸图像卡通化的示例代码
2021/01/15 Python
详解HTML5通讯录获取指定多个人的信息
2016/12/20 HTML / CSS
泰国健康和美容服务预订网站:GoWabi
2019/06/03 全球购物
市场营销专业推荐信
2013/11/03 职场文书
店长助理岗位职责
2013/12/13 职场文书
《颐和园》教学反思
2014/02/26 职场文书
网站出售协议书范文
2014/10/10 职场文书
2015年上半年党建工作总结
2015/03/30 职场文书
《小摄影师》教学反思
2016/02/18 职场文书
MySQL sql模式设置引起的问题
2022/05/15 MySQL