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操作css样式
May 15 jQuery
jquery实现左右轮播图效果
Sep 28 jQuery
jQuery与vue实现拖动验证码功能
Jan 30 jQuery
jQuery实现的电子时钟效果完整示例
Apr 28 jQuery
详解使用jQuery.i18n.properties实现js国际化
May 04 jQuery
jQuery实现根据身份证号获取生日、年龄、性别等信息的方法
Jan 09 jQuery
jquery实现动态改变css样式的方法分析
May 27 jQuery
使用JQuery自动完成插件Auto Complete详解
Jun 18 jQuery
jQuery实现图片随机切换、抽奖功能(实例代码)
Oct 23 jQuery
使用jQuery实现掷骰子游戏
Oct 24 jQuery
基于jQuery实现可编辑的表格
Dec 11 jQuery
jQuery实现的上拉刷新功能组件示例
May 01 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/08/30 PHP
PHP最常用的ini函数分析 针对PHP.ini配置文件
2010/04/22 PHP
php下网站防IP攻击代码,超级实用
2010/10/24 PHP
php数组编码转换示例详解
2014/03/11 PHP
PHP使用CURL获取302跳转后的地址实例
2014/05/04 PHP
TP5框架实现一次选择多张图片并预览的方法示例
2020/04/04 PHP
prototype class详解
2006/09/07 Javascript
30个精美的jQuery幻灯片效果插件和教程
2011/08/23 Javascript
Javascript生成json的函数代码(可以用php的json_decode解码)
2012/06/11 Javascript
用JS做的简单的可折叠的两级树形菜单
2013/09/21 Javascript
让html页面不缓存js的实现方法
2014/10/31 Javascript
jquery简单图片切换显示效果实现方法
2015/01/14 Javascript
限制只能输入数字的实现代码
2016/05/16 Javascript
Ionic快速安装教程
2016/06/03 Javascript
Js遍历键值对形式对象或Map形式的方法
2016/08/08 Javascript
Angular2 父子组件通信方式的示例
2018/01/29 Javascript
详解Nodejs get获取远程服务器接口数据
2019/03/26 NodeJs
JS 图片压缩原理与实现方法详解
2020/04/29 Javascript
[03:26]《DAC最前线》之EG经理自述DOTA2经历
2015/02/02 DOTA
[48:20]OpTic vs Serenity 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
[02:23]完美世界全国高校联赛街访DOTA2第一期
2019/11/28 DOTA
pycharm 使用心得(七)一些实用功能介绍
2014/06/06 Python
在Apache服务器上同时运行多个Django程序的方法
2015/07/22 Python
Python的Twisted框架中使用Deferred对象来管理回调函数
2016/05/25 Python
Python基于pillow判断图片完整性的方法
2016/09/18 Python
python的dataframe转换为多维矩阵的方法
2018/04/11 Python
Python实现的拉格朗日插值法示例
2019/01/08 Python
如何利用Python模拟GitHub登录详解
2019/07/15 Python
python numpy中cumsum的用法详解
2019/10/17 Python
Python中的sys.stdout.write实现打印刷新功能
2020/02/21 Python
jupyter notebook清除输出方式
2020/04/10 Python
Pytorch十九种损失函数的使用详解
2020/04/29 Python
学习python需要有编程基础吗
2020/06/02 Python
Python configparser模块操作代码实例
2020/06/08 Python
菲律宾酒店预订网站:Hotels.com菲律宾
2017/07/12 全球购物
演讲稿开场白
2014/01/13 职场文书