在做排序功能的时候需要将一个数组的数据传递到后台,(当时怎么没用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 传递数组类型参数后台接收不到的问题的更多相关文章

  1. ajax传递数组及后台接收

    ajax传递的是{"items":arr},其中arr=[]; 在后台String[] items=req.getParameterValues("items" ...

  2. ajax传递数组,后台接收为null解决方法

    traditional:true,加上这个就好,默认为false,即允许深度序列化参数,但是servlet api不支持,所有设为true阻止就好了. $.ajax({ type:'post', ur ...

  3. ajax传递数组到后台

    //实体类 public class Person { private int ID{get;set;} private string Name{get;set;} private int Age{g ...

  4. jsp采用ajax传递数组给后台controller并遍历

    ajax传递数组,期间出各种各样的问题,那叫一个头疼,网上各种查,都没有解决,最终摸索摸索加借鉴搞定,不多说,上代码 /* 复选框选定部分 */ $("#delete").clic ...

  5. 前端AJAX传递数组给Springmvc接收处理

    前端传递数组后端(Spring)来接收并处理: <!DOCTYPE html> <html> <head> <meta charset="UTF-8 ...

  6. ajax传递数组到后台,js传递数组到后台

    用angular做商品搜索功能,后台接口那边过滤条件必须传递数组过去,结果比较尴尬的事情发生了,每次传递数组过去,查看请求发送的数据,自动被转成了对象,很头疼. 数据传递前 传递后我查看了请求的数据 ...

  7. Spring Mvc 页面传递数组到后台接收

    1.定义一个简单的类 User.java public class User { private Integer id; private String name; public Integer get ...

  8. ajax 传递数组给后台.net MVC 控制器

    数组结构为: [ "5ae92c2786f3591b2cff1be5", "5ae91bb7ca673569a8d23a6e" ] 前台代码: $.ajax({ ...

  9. ajax传递数组,后台更新

    js: var rows = $("#stu_reg_table").datagrid("getSelections"); if(rows != "& ...

随机推荐

  1. Jboss下jaxws的开发

    http://xpenxpen.iteye.com/blog/1695069之前用jaxws做web service开发,无论是axis2还是cxf的实现,在tomcat上均成功部署.偏偏项目用的是j ...

  2. C# DateTime的11种构造函数 [Abp 源码分析]十五、自动审计记录 .Net 登陆的时候添加验证码 使用Topshelf开发Windows服务、记录日志 日常杂记——C#验证码 c#_生成图片式验证码 C# 利用SharpZipLib生成压缩包 Sql2012如何将远程服务器数据库及表、表结构、表数据导入本地数据库

    C# DateTime的11种构造函数   别的也不多说没直接贴代码 using System; using System.Collections.Generic; using System.Glob ...

  3. GNU--gprof使用总结

    Added macros ACE_USES_GPROF which enables users to use gprof in a multithreaded environment with ACE ...

  4. DOS命令 bat-call的用法

    call 从批处理程序调用另一个批处理程序 call有几种用法 第一种用法,也就是最常用的一种,调用另一个批处理,在被调用的批处理执行完后在执行call下面的命令.如: @echo off call ...

  5. 有趣的API: history pushState/popstate 无刷新跳转(pjax)

    API介绍 首先看看API如何使用: history.pushState(state, title, url) : 无刷新的向浏览器 历史最前方 加入一条记录. state(any) 需要保存的数据, ...

  6. 双线机房双网卡双ip 路由设置

    做互联网网站,最头疼的事情之一就是电信和网通的互联互不通了,为了能够让北方网通和南方电信用户都可以快速的访问网站,解决办法就是托管 到双线机房.双线机房有两类,一类是通过BGP技术实现互联互通,服务器 ...

  7. Java并发编程(六):Java里实现对象安全发布的四种方式

    接上篇,首先要了解什么是对象的发布与逸出? Java里安全发布对象的四种方法1.单例(注意懒汉和饿汉的区别)2.静态属性,注意类里的静态域和静态代码块的顺序有要求3.枚举4.final

  8. 0047 Spring的AOP入门基础--切面组件--通知--切入点

    AOP的全称是Aspect Oriented Programming,面向切面编程. 切面是什么呢,就是一个Java类.之所以叫切面,就是说在调用其他一些类的方法的某个时候(之前,之后,抛异常等),调 ...

  9. Unix系统编程(三)通用的I/O

    UNIX  IO模型的显著特点之一是输出输出概念的通用性,这意味着,4个同样的系统调用open,read,write和close可以对所有类型的文件执行IO操作,包括终端之类的设备.因此仅用这些系统调 ...

  10. java删除递归文件夹及文件夹下文件

    public static void delUrlLocalFile(String urlPath) { File file = new File(urlPath); if(file.isDirect ...