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实现前端分页功能
Mar 23 jQuery
jQuery插件FusionCharts绘制的2D双面积图效果示例【附demo源码】
Apr 11 jQuery
简述jQuery Easyui一些用法
Aug 01 jQuery
使用jQuery实现鼠标点击左右按钮滑动切换
Aug 04 jQuery
jQuery实现表格冻结顶栏效果
Aug 20 jQuery
jquery select插件异步实时搜索实例代码
Oct 20 jQuery
jQuery实现验证表单密码一致性及正则表达式验证邮箱、手机号的方法
Dec 05 jQuery
集成vue到jquery/bootstrap项目的方法
Feb 10 jQuery
jQuery实现鼠标滑过商品小图片上显示对应大图片功能【测试可用】
Apr 27 jQuery
解决jquery有正确返回值但不执行success函数的问题
Aug 20 jQuery
jQuery 选择器用法基础入门示例
Jan 04 jQuery
jQuery实现的解析本地 XML 文档操作示例
Apr 30 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者的疑难问答(2)
2006/10/09 PHP
phpnow php探针环境检测代码
2014/11/04 PHP
Win7下手动安装apache2.2、php5.4笔记
2015/04/03 PHP
在laravel中实现将查询的对象转换为多维数组的函数
2019/10/21 PHP
jQuery 获取对象 定位子对象
2010/05/31 Javascript
JS返回上一页实例代码通过图片和按钮分别实现
2013/08/16 Javascript
jquery+php实现搜索框自动提示
2014/11/28 Javascript
AngularJS基础 ng-submit 指令简单示例
2016/08/03 Javascript
vue.js源代码core scedule.js学习笔记
2017/07/03 Javascript
AngularJS 中ui-view传参的实例详解
2017/08/25 Javascript
初探JavaScript 面向对象(推荐)
2017/09/03 Javascript
JavaScript插件Tab选项卡效果
2017/11/14 Javascript
详解Vue Elememt-UI构建管理后台
2018/02/27 Javascript
Vue不能检测到Object/Array更新的情况的解决
2018/06/26 Javascript
JS实现秒杀倒计时特效
2020/01/02 Javascript
微信小程序实现滚动Tab选项卡
2020/11/16 Javascript
python中遍历文件的3个方法
2014/09/02 Python
Python3中使用urllib的方法详解(header,代理,超时,认证,异常处理)
2016/09/21 Python
Python实现动态加载模块、类、函数的方法分析
2017/07/18 Python
python数据分析数据标准化及离散化详解
2018/02/26 Python
解决vscode python print 输出窗口中文乱码的问题
2018/12/03 Python
python pygame实现球球大作战
2019/11/25 Python
python游戏开发的五个案例分享
2020/03/09 Python
基于matplotlib中ion()和ioff()的使用详解
2020/06/16 Python
Python经纬度坐标转换为距离及角度的实现
2020/11/01 Python
使用Python webdriver图书馆抢座自动预约的正确方法
2021/03/04 Python
css3实现3D色子翻转特效
2014/12/23 HTML / CSS
html5页面结构_动力节点Java学院整理
2017/07/10 HTML / CSS
应付会计岗位职责
2013/12/12 职场文书
创业计划书怎样才能打动风投
2014/01/01 职场文书
作文批改评语大全
2014/04/23 职场文书
信访工作经验交流材料
2014/05/23 职场文书
2015年采购工作总结
2015/04/10 职场文书
金正昆讲礼仪观后感
2015/06/11 职场文书
SpringBoot+VUE实现数据表格的实战
2021/08/02 Java/Android
JS轻量级函数式编程实现XDM三
2022/06/16 Javascript