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实现按比例缩放图片的方法
Apr 29 jQuery
jquery select插件异步实时搜索实例代码
Oct 20 jQuery
基于jQuery Ajax实现下拉框无刷新联动
Dec 06 jQuery
jQuery实现的简单图片轮播效果完整示例
Feb 08 jQuery
jQuery实现的简单获取索引功能示例
Jun 04 jQuery
Vue.js 通过jQuery ajax获取数据实现更新后重新渲染页面的方法
Aug 09 jQuery
jQuery实现的记住帐号密码功能完整示例
Aug 03 jQuery
jquery将json转为数据字典的实例代码
Oct 11 jQuery
jquery实现烟花效果(面向对象)
Mar 10 jQuery
jQuery实现移动端笔触canvas电子签名
May 21 jQuery
jQuery+ThinkPHP实现图片上传
Jul 23 jQuery
jquery插件实现图片悬浮
Apr 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
php+mysqli实现将数据库中一张表信息打印到表格里的方法
2015/01/28 PHP
thinkphp3.x连接mysql数据库的方法(具体操作步骤)
2016/05/19 PHP
php页面跳转session cookie丢失导致不能登录等问题的解决方法
2016/12/12 PHP
PHP文件操作实例总结【文件上传、下载、分页】
2018/12/08 PHP
Laravel 验证码认证学习记录小结
2019/12/20 PHP
锋利的jQuery 要点归纳(三) jQuery中的事件和动画(上:事件篇)
2010/03/24 Javascript
js如何判断用户是否是用微信浏览器
2014/06/05 Javascript
Javascript的比较汇总
2016/07/25 Javascript
jQuery数组处理函数整理
2016/08/03 Javascript
利用jQuery来动态为属性添加或者删除属性的简单方法
2016/12/02 Javascript
JavaScript 输出显示内容(document.write、alert、innerHTML、console.log)
2016/12/14 Javascript
Vue数据驱动模拟实现2
2017/01/11 Javascript
webpack实现热加载自动刷新的方法
2017/07/30 Javascript
vue组件实现文字居中对齐的方法
2017/08/23 Javascript
JavaScript使用indexOf()实现数组去重的方法分析
2018/09/04 Javascript
vue中的适配px2rem示例代码
2018/11/19 Javascript
微信小程序-可移动菜单的实现过程详解
2019/06/24 Javascript
JS实现排行榜文字向上滚动轮播效果
2019/11/26 Javascript
基于Vue的侧边目录组件的实现
2020/02/05 Javascript
python文件写入实例分析
2015/04/08 Python
30秒轻松实现TensorFlow物体检测
2018/03/14 Python
python爬取网页转换为PDF文件
2018/06/07 Python
解决Tensorboard 不显示计算图graph的问题
2020/02/15 Python
Keras中的两种模型:Sequential和Model用法
2020/06/27 Python
在Tensorflow中实现leakyRelu操作详解(高效)
2020/06/30 Python
收藏!10个免费高清视频素材网站!【设计、视频剪辑必备】
2021/03/18 杂记
美体小铺加拿大官方网站:The Body Shop加拿大
2016/10/30 全球购物
Joe Fresh官网:加拿大时尚品牌和零售连锁店
2016/11/30 全球购物
英国户外服装、鞋类和设备的领先零售商:Millets
2020/10/12 全球购物
工厂门卫岗位职责
2013/11/25 职场文书
新员工入职感言
2014/02/01 职场文书
群众路线教育实践活动个人对照检查材料思想汇报(社区班子)
2014/10/06 职场文书
学校总务处领导干部个人对照检查材料思想汇报
2014/10/06 职场文书
2019年最新感恩节祝福语(28句)
2019/11/27 职场文书
Redisson实现Redis分布式锁的几种方式
2021/08/07 Redis
Oracle中DBLink的详细介绍
2022/04/29 Oracle