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中的deferred使用方法
Mar 27 jQuery
jQuery日程管理控件glDatePicker用法详解
Mar 29 jQuery
jQuery序列化后的表单值转换成Json
Jun 16 jQuery
jQuery实现一个简单的验证码功能
Jun 26 jQuery
解决IE7中使用jQuery动态操作name问题
Aug 28 jQuery
jQuery实现点击下拉框中的值累加到文本框中的方法示例
Oct 28 jQuery
jQuery EasyUI window窗口使用实例代码
Dec 25 jQuery
解决jquery有正确返回值但不执行success函数的问题
Aug 20 jQuery
jQuery实现表格隔行换色
Sep 01 jQuery
解决jquery validate 验证不通过后验证正确的信息仍残留在label上的方法
Aug 27 jQuery
jquery实现吸顶导航效果
Jan 08 jQuery
Jquery ajax书写方法代码实例解析
Jun 12 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 getallheaders无法获取自定义头(headers)的问题
2016/03/23 PHP
PHP中PDO的事务处理分析
2016/04/07 PHP
php构造函数与析构函数
2016/04/23 PHP
基于Laravel5.4实现多字段登录功能方法示例
2017/08/11 PHP
php生成HTML文件的类方法
2019/10/11 PHP
神奇的代码 通杀各种网站-可随意修改复制页面内容
2008/07/17 Javascript
jquery ui dialog里调用datepicker的问题
2009/08/06 Javascript
Html5的placeholder属性(IE兼容)实现代码
2014/08/30 Javascript
nodejs教程之异步I/O
2014/11/21 NodeJs
jquery插件corner实现圆角边框的方法
2015/03/09 Javascript
javascript 对象数组根据对象object key的值排序
2015/03/09 Javascript
对JavaScript客户端应用编程的一些建议
2015/06/24 Javascript
JS+CSS实现电子商务网站导航模板效果代码
2015/09/10 Javascript
jQuery实现根据滚动条位置加载相应内容功能
2016/07/18 Javascript
mui上拉加载更多下拉刷新数据的封装过程
2017/11/03 Javascript
vue+springboot前后端分离实现单点登录跨域问题解决方法
2018/01/30 Javascript
vue  directive定义全局和局部指令及指令简写
2018/11/20 Javascript
Vue的编码技巧与规范使用详解
2019/08/28 Javascript
JS实现随机抽取三人
2019/11/06 Javascript
[02:04]2016国际邀请赛中国区预选赛VG.R晋级之路
2016/07/01 DOTA
浅谈Python实现Apriori算法介绍
2017/12/20 Python
Python数据抓取爬虫代理防封IP方法
2018/12/23 Python
python and or用法详解
2019/06/26 Python
python小程序之4名牌手洗牌发牌问题解析
2020/05/15 Python
雅诗兰黛(Estee Lauder)英国官方网站:世界顶级化妆品牌
2016/12/29 全球购物
阿联酋最好的手机、电子产品和家用电器网上商店:Eros Digital Home
2020/08/09 全球购物
师范院校学生自荐信范文
2013/12/27 职场文书
会计专业导师推荐信
2014/03/08 职场文书
小学毕业寄语大全
2014/04/03 职场文书
说明书格式及范文
2014/05/07 职场文书
小学教师个人先进事迹材料
2014/05/17 职场文书
民事诉讼授权委托书范文
2014/08/02 职场文书
民族学专业大学生职业规划范文:清晰未来的构想
2014/09/20 职场文书
科学发展观标语
2014/10/08 职场文书
2014年幼儿园德育工作总结
2014/12/17 职场文书
学生会自荐信
2019/05/16 职场文书