ajax 传递数组类型参数后台接收不到的问题
在做排序功能的时候需要将一个数组的数据传递到后台,(当时怎么没用json,如果用json就没有那么多的事情了),数据提交采用ajax!
先看代码
js:
submitbtn: function () {
// 提交
$("#submitbtn").click(function () {
$.dialog.confirm("确定要提交吗?", function () {
var arr = [];
$(".title").each(function () {
var orderindex = $(this).data("index")
arr.push(orderindex);
})
//查看数据是否存在
console.log(arr);
$.ajax({
url: "ChangePaymentTypeLevel",
data: { array: arr },
type: "post",
dataType: "json",
dynsc: false,
//traditional: true,
success: function (res) {
$.dialog.alert(res, function () {
window.parent.location.reload();
});
}
})
});
});
}
后台:
/// <summary>
/// 批量修改支付类型排序
/// </summary>
/// <param name="array"></param>
/// <returns></returns>
[HttpPost]
public JsonResult ChangePaymentTypeLevel(string[] array)
{
List<int> list = array.Select<string, int>(b => Convert.ToInt32(b)).ToList();
var result = ConfigService.ChangePaymentTypeLevel(list);
if (result)
{
return Json("操作成功!");
}
else
{
return Json("操作失败!");
}
}
问题是:在js中确实拿到了数据,而且在console中可以展示出来,但是ajax提交到后台的时候总是拿不到,不管是用string[] 还是采用List<string>甚至看Request中对象都没有数据。
查了资料后知道是ajax数据提交的问题,如果是一个数组需要对traditional进行配置://traditional: true;
官方文档的解释如下:
traditional
类型:Boolean,jq中默认为false
如果你想要用传统的方式来序列化数据,那么就设置为 true。
Set this to true if you wish to use the traditional style of param serialization
嗯,很简单,自己不知道,如果传递数组的话也可以使用json,只不过你用json多了只有可能就忘记了怎么用数组了!
有得必有失吧!
zk-20170905
ajax 传递数组类型参数后台接收不到的问题的更多相关文章
- ajax传递数组及后台接收
ajax传递的是{"items":arr},其中arr=[]; 在后台String[] items=req.getParameterValues("items" ...
- ajax传递数组,后台接收为null解决方法
traditional:true,加上这个就好,默认为false,即允许深度序列化参数,但是servlet api不支持,所有设为true阻止就好了. $.ajax({ type:'post', ur ...
- ajax传递数组到后台
//实体类 public class Person { private int ID{get;set;} private string Name{get;set;} private int Age{g ...
- jsp采用ajax传递数组给后台controller并遍历
ajax传递数组,期间出各种各样的问题,那叫一个头疼,网上各种查,都没有解决,最终摸索摸索加借鉴搞定,不多说,上代码 /* 复选框选定部分 */ $("#delete").clic ...
- 前端AJAX传递数组给Springmvc接收处理
前端传递数组后端(Spring)来接收并处理: <!DOCTYPE html> <html> <head> <meta charset="UTF-8 ...
- ajax传递数组到后台,js传递数组到后台
用angular做商品搜索功能,后台接口那边过滤条件必须传递数组过去,结果比较尴尬的事情发生了,每次传递数组过去,查看请求发送的数据,自动被转成了对象,很头疼. 数据传递前 传递后我查看了请求的数据 ...
- Spring Mvc 页面传递数组到后台接收
1.定义一个简单的类 User.java public class User { private Integer id; private String name; public Integer get ...
- ajax 传递数组给后台.net MVC 控制器
数组结构为: [ "5ae92c2786f3591b2cff1be5", "5ae91bb7ca673569a8d23a6e" ] 前台代码: $.ajax({ ...
- ajax传递数组,后台更新
js: var rows = $("#stu_reg_table").datagrid("getSelections"); if(rows != "& ...
随机推荐
- linux命令小技巧
一:命令行里怎么往上翻页 Shift+PageUP|PageDown 二:分页显示文件内容则可以用less工具过滤,然后用方向键或PageUp/PageDown上下翻 less /etc/passwd ...
- 003实现字符串反转reverse
这个简单就直接代码了 //写代码翻转一个C风格的字符串. (C风格的意思是"abcd"须要用5个字符来表示,包括末尾的 结束字符) #include <stdio.h> ...
- SELinux 宽容模式(permissive) 强制模式(enforcing) 关闭(disabled)
SElinux共有3中状态.1.selinux的配置文件:/etc/selinux/config# This file controls the state of SELinux on the sys ...
- cacheManager载入问题
net.sf.ehcache.CacheException: Another unnamed CacheManager already exists in the same VM. Please pr ...
- JAVA工具类 UUID
UUID:通用惟一识别:Universally Unique Identifier: 在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的. GUID是一个128位长的数字,一般用16进制 ...
- python之pilow验证码
pilow的基本操作 """ Created on Fri Jun 1 12:36:38 2018 @author: Frank """ f ...
- [JNA系列]Java调用Delphi编写的Dll之实例Delphi使用PWideChar
Delphi代码 unit UnitDll; interface uses StrUtils, SysUtils, Dialogs; function DoBusinessWide(pvData: P ...
- [JNA系列]Java调用Delphi编写的Dll之JNA使用
介绍 给大家介绍一个最新的访问本机代码的 Java 框架 —JNA . JNA(Java Native Access) 框架是一个开源的 Java 框架,是 SUN 公司主导开发的,建立在经典的 JN ...
- 1.1 Application Fundamentals - 应用原理
Android应用是使用Java编程语言编写的.Android SDK工具把代码.资源和数据文件编译为一个Android包,这是一个有.apk后缀的压缩文件.一个单独的.apk文件里包含所有的代码,这 ...
- SAML2.0 协议初识(二)---Service Provider(SP)
上一节,我们初步认识了 SAML 协议的概念和工作流程,这一节将介绍 SP 端的一些细节. 通常情况下,SP 端是请求发起端,即当用户访问 SP 端的受保护资源时,由 SP 端向认证中心(IDP 端) ...