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仿微信聊天界面
May 06 jQuery
jquery插件canvaspercent.js实现百分比圆饼效果
Jul 18 jQuery
jQuery结合jQuery.cookie.js插件实现换肤功能示例
Oct 14 jQuery
判断jQuery是否加载完成,没完成继续判断的解决方法
Dec 06 jQuery
jquery radio 动态控制选中失效问题的解决方法
Feb 28 jQuery
jQuery实现遍历XML节点和属性的方法示例
Apr 29 jQuery
JS与jQuery实现ListBox上移,下移,左移,右移操作功能示例
May 31 jQuery
jQuery+PHP实现上传裁剪图片
Jun 29 jQuery
使用异步controller与jQuery实现卷帘式分页
Jun 18 jQuery
jQuery实现tab栏切换效果
Dec 22 jQuery
jQuery使用hide()、toggle()函数实现相机品牌展示隐藏功能
Jan 29 jQuery
html中两种获取标签内的值的方法
Jun 16 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
多文件上载系统完整版
2006/10/09 PHP
新手配置 PHP 调试环境(IIS+PHP+MYSQL)
2007/01/10 PHP
火车头采集器3.0采集图文教程
2007/03/17 PHP
php的$_FILES的临时储存文件与回收机制实测过程
2013/07/12 PHP
PHP防范SQL注入的具体方法详解(测试通过)
2014/05/09 PHP
php不使用copy()函数复制文件的方法
2015/03/13 PHP
实例介绍PHP中zip_open()函数用法
2019/02/15 PHP
php+js实现的拖动滑块验证码验证表单操作示例【附源码下载】
2020/05/27 PHP
CI框架简单分页类用法示例
2020/06/06 PHP
Avengerls vs Newbee BO3 第三场2.18
2021/03/10 DOTA
又一个图片自动缩小的JS代码
2007/03/10 Javascript
JS面向对象、prototype、call()、apply()
2009/05/14 Javascript
JavaScript和JQuery实用代码片段(一)
2010/04/07 Javascript
js 代码优化点滴记录
2012/02/19 Javascript
JavaScript关闭当前页面(窗口)不带任何提示
2014/03/26 Javascript
jquery实现的鼠标拖动排序Li或Table
2014/05/04 Javascript
js实现回放拖拽轨迹从过程上进行分析
2014/06/26 Javascript
JS解析XML实例分析
2015/01/30 Javascript
PHP+jQuery+Ajax实现多图片上传效果
2015/03/14 Javascript
微信WeixinJSBridge API使用实例
2015/05/25 Javascript
浅谈jQuery中height与width
2015/07/06 Javascript
jquery+json实现数据二级联动的方法
2015/11/28 Javascript
Javascript中浏览器窗口的基本操作总结
2016/08/18 Javascript
JS实现快速的导航下拉菜单动画效果附源码下载
2016/11/01 Javascript
微信小程序 下拉菜单简单实例
2017/04/13 Javascript
详解js的作用域、预解析机制
2018/02/05 Javascript
js实现时分秒倒计时
2019/12/03 Javascript
谈一谈vue请求数据放在created好还是mounted里好
2020/07/27 Javascript
python编写Logistic逻辑回归
2020/12/30 Python
python输出决策树图形的例子
2019/08/09 Python
python下载卫星云图合成gif的方法示例
2020/02/18 Python
美国男装连锁零售商:Men’s Wearhouse
2016/10/14 全球购物
回门宴父母答谢词
2014/01/26 职场文书
会计专业自荐信
2014/06/03 职场文书
关于读书的演讲稿400字
2014/08/27 职场文书
不尊敬老师的检讨书
2014/12/21 职场文书