方法一:拼接字符串参数

var arr={params:['param','param2']};
$.ajax({url:请求地址,
data:arr,
type:"POST",
success:function(){
//do something
}
});

方法二:ajax提交添加”traditional:true”参数

traditional:是否使用传统的方式浅层序列化。

数组或jQuery对象会按照name/value对进行序列化,普通对象按照key/value对进行序列化。

var arr=new Array();
arr[0]='param';
arr[1]='param2';
$.ajax({url:请求地址,
data:{params:arr},
type:"POST",
traditional:true, //默认false
success:function(){
//do something
}
});

通过ajax提交数组时,会自动在所设定的参数后面增加中括号:“[]”,导致后端spring MVC中的@RequestParam获取不到参数。

解决方法:

ajax请求时增加:traditional: true 就可以正常提交了。原因如下:

jQuery会调用jQuery.param序列化参数,jQuery.param( obj, traditional ),默认的话,traditional为false,即jquery会深度序列化参数对象,以适应如PHP和Ruby on Rails框架,但servelt api无法处理,我们可以通过设置traditional 为true阻止深度序列化。

Ajax请求传递数组参数的方法的更多相关文章

  1. Ajax请求传递数组参数

    var ids = []; var rows=$("#tt").datagrid("getSelections"); for(var i=0; i<row ...

  2. ajax post 传递数组参数

    1.前言 此文章仅作为记录,方便查阅. 2.代码 javascript: var idArr = ['one','two','Three']; $.ajax({ type: 'POST', data ...

  3. URL地址中传递数组参数的方法

    示例:http://127.0.0.1/text/index.php?links[]=ddddd&links[]=fffff var_dump($_GET); array(1) {     [ ...

  4. Ajax请求传递参数遇到的问题

    想写个同类型的,代码未测. 什么是WebAPI?我的理解是WebAPI+JQuery(前端)基本上能完成Web MVC的功能,即:这么理解吧,WebAPI相当于Web MVC的后台部分. 接下来直接上 ...

  5. WebAPI学习日记一:Ajax请求传递参数遇到的问题

    首先,本人大学刚毕业,想把自己学习的一些东西记录下来,也是和大家分享,如有不对之处还请多加指正.声明:但凡是我博客里的文章均是本人实际操作遇到的例子,不会随便从网上拷贝或者转载,本着对自己和观众负责的 ...

  6. ajax 传递数组参数

    一.ajax 传递数组参数 需要添加: traditional: true, let typeIDArr = [,,,,,]; var that = this; var url = '@Url.Act ...

  7. ajax向后台传递数组参数并将后台响应的数据赋值给一个变量供其它插件使用

    1.在js中封装ajax向后台传递数组参数函数 //combogrid * * @Description 封装ajax向后台传递数组参数并将后台响应的数据赋值给一个变量方便其他插件使用该数据函数 * ...

  8. 解决.NET Core Ajax请求后台传送参数过大请求失败问题

    解决.NET Core Ajax请求后台传送参数过大请求失败问题 今天在项目上遇到一个坑, 在.Net Core中通过ajax向mvc的controller传递对象时,控制器(controller)的 ...

  9. 解决JavaScript中使用$.ajax方式提交数组参数

    一般的,可能有些人在一个参数有多个值的情况下,可能以某个字符分隔的形式传递,比如页面上有多个checkbox: $.ajax{ url:"xxxx", data:{ p: &quo ...

随机推荐

  1. ADO.NET基础必背知识

    DO.NET 由.Net Framework 数据提供程序和DataSet 两部分构成. .NET FrameWork 是 Connection  连接对象 Command   命令对象 DataRe ...

  2. JS控制输入框和文本框字数

    文本框限制字数: HTML结构: JS: $('.advert-title').each(function(){ var TXTlength = $(this).text().length; // 当 ...

  3. PLSQL Developer配置Oralce11g连接

    您的位置:首页 → 资讯教程 → 编程开发 → PLSQL Developer配置Oralce11g连接 PLSQL Developer配置Oralce11g连接 时间:2015/2/3 8:36:2 ...

  4. 前端学习笔记系列一:9 js中数组的拷贝

    拷贝分为浅拷贝和深拷贝,在JavaScript中能够实现这两种拷贝的方式也是多种多样.以下是一维数组实现深拷贝和浅拷贝的各种方式. 一.浅拷贝 1.赋值 赋值是最直接的一种浅拷贝. let arr3 ...

  5. 做一个php登陆页面,用pc登陆和用手机登陆弹出来的登陆页面不一样。

    <?phpheader('Content-Type:text/html; charset=UTF-8');//定义页面编码为utf8$is_pc = (strpos($agent, 'windo ...

  6. mysqlworkbench导入sql文件

    直接给上神秘地址怕自己以后忘记:https://blog.csdn.net/u010801439/article/details/78762387

  7. Docker 简单使用笔记

    Docker笔记 安装   首先检查是否已经安装过Docker:yum list installed | grep docker,如果已经安装过需要删除旧的Docker:yum remove dock ...

  8. 第1节 网站点击流项目(上):4、网站的数据采集,使用flume的taildir实现多个文件的监控采集

    一. 模块开发----数据采集 1. 需求 在网站web流量日志分析这种场景中,对数据采集部分的可靠性.容错能力要求通常不会非常严苛,因此使用通用的flume日志采集框架完全可以满足需求. 2. Fl ...

  9. CC26XX开发

    [CC26XX开发] 2016-01-26 [CC2650 入门] CC2650 sensortag入门 http://processors.wiki.ti.com/index.php/CC2650_ ...

  10. Redis原理详解

    Redis原理详解 数据类型 Redis最为常用的数据类型主要有以下五种: String Hash List Set Sorted set 在具体描述这几种数据类型之前,我们先通过一张图了解下Redi ...