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选择器特殊字符与属性空格问题
Aug 14 jQuery
jQuery EasyUI结合zTree树形结构制作web页面
Sep 01 jQuery
jQuery ajax调用webservice注意事项
Oct 08 jQuery
jQuery实现判断上传图片类型和大小的方法示例
Apr 11 jQuery
详解使用jQuery.i18n.properties实现js国际化
May 04 jQuery
jQuery+PHP实现上传裁剪图片
Jun 29 jQuery
jQuery实现侧边栏隐藏与显示的方法详解
Dec 22 jQuery
Jquery滑动门/tab切换实现方法完整示例
Jun 05 jQuery
jquery插件实现轮播图效果
Oct 19 jQuery
jQuery实现移动端扭蛋机抽奖
Nov 08 jQuery
jquery实现拖拽添加元素功能
Dec 01 jQuery
jQuery实现购物车全功能
Jan 11 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中的超全局变量
2006/10/09 PHP
在IIS7.0下面配置PHP 5.3.2运行环境的方法
2010/04/13 PHP
JS 网站性能优化笔记
2011/05/24 PHP
利用curl 多线程 模拟 并发的详解
2013/06/14 PHP
合并ThinkPHP配置文件以消除代码冗余的实现方法
2014/07/22 PHP
php使用递归函数实现数字累加的方法
2015/03/16 PHP
thinkPHP框架实现多表查询的方法
2018/06/14 PHP
PHP实现微信小程序用户授权的工具类示例
2019/03/05 PHP
jQuery弹出层始终垂直居中相对于屏幕或当前窗口
2013/04/01 Javascript
JavaScript eval() 函数介绍及应用示例
2014/07/29 Javascript
浅谈被jQuery抛弃的函数及替代函数
2015/05/03 Javascript
JavaScript检测上传文件大小的方法
2015/07/22 Javascript
鼠标悬停小图标显示大图标
2016/01/22 Javascript
详解打造 Vue.js 可复用组件
2017/03/24 Javascript
基于webpack4.X从零搭建React脚手架的方法步骤
2018/12/23 Javascript
微信小程序图片加载失败时替换为默认图片的方法
2019/12/09 Javascript
[04:40]2016个国际邀请赛中国区预选赛场地——华西村观战指南
2016/06/25 DOTA
用Python中的wxPython实现最基本的浏览器功能
2015/04/14 Python
Windows上使用virtualenv搭建Python+Flask开发环境
2016/06/07 Python
Python实现定时执行任务的三种方式简单示例
2019/03/30 Python
浅谈Python大神都是这样处理XML文件的
2019/05/31 Python
Python使用QQ邮箱发送邮件报错smtplib.SMTPAuthenticationError
2019/12/20 Python
使用python绘制cdf的多种实现方法
2020/02/25 Python
浅谈Python中re.match()和re.search()的使用及区别
2020/04/14 Python
python实现简单猜单词游戏
2020/12/24 Python
英国最红的高街时尚品牌:Topshop
2016/08/05 全球购物
澳大利亚领先的女帽及配饰公司:Morgan&Taylor
2019/12/01 全球购物
村官学习十八大感想
2014/01/15 职场文书
优秀学生事迹材料
2014/02/08 职场文书
2014和解协议书范文
2014/09/15 职场文书
事业单位财务人员岗位职责
2015/04/14 职场文书
学校推普周活动总结
2015/05/07 职场文书
小学运动会前导词
2015/07/20 职场文书
人事部:年度述职报告范文
2019/07/12 职场文书
win10安装配置nginx的过程
2021/03/31 Servers
canvas 中如何实现物体的框选
2022/08/05 Javascript