js在进行ajax提交时,如果提交的参数是数组,js无法直接进行提交,及时提交上去,解析也是比较麻烦

ajax在提交数组时,需要设置参数:

traditional: true,  //参数作为数组传递时

另外,数组需要进行json.stringy变成字符串进行提交

完整的格式:

$.ajax({
type: "post",
url: "../Aspose/AsposeHelper.ashx",
data: { "action": "exportQuery", "queryResult": JSON.stringify( datagridSource )},
traditional: true,  //参数作为数组传递时
dataType:"json",
error: function (ex) {
console.log("导出查询结果出错:" + ex);
},
success: function (data) {
if (data != null) {
debugger;
window.open(data["responseObject"]);
}
}
});

js提交数组后,C#在ashx进行数据接收和处理时,

【1】对数组参数进行重组

具体的重组过程:

1.建立一个与json数组中对象字段一致的类

2.使用序列化,将js提交上来的数组json字符串反序列化为对象

/// 

/// Json格式数据转换为List

/// 

public static List JSONStringToList(string JsonStr)

{

JavaScriptSerializer Serializer = new JavaScriptSerializer();

//设置转化JSON格式时字段长度

List objs = Serializer.Deserialize>(JsonStr);

return objs;

}

3.按照处理C#中的数组或者list进行处理

萧墙HTML5手机发展之路(53)——jQueryMobile页面之间的参数传递

基于单个页面模板HTTP通过路POST和GET请求传递参数.在多页模板,并且不需要server沟通,通常有三种方式在多页模板来实现页面之间的参数传递. 1.GET道路:上一页页生成参数并传递到下一个页 ...

JS多个函数之间传递参数问题

JS多个函数之间传递参数的一个重要思想是在页面定义一个隐藏域,当第一个函数请求到数据时候修改隐藏域的值,第二个函数用jQuery的选择器选择页面中隐藏域的值. 比如: 页面中定义一个隐藏的页号. &l ...

探究JS V8引擎下的“数组”底层实现

本文首发于 vivo互联网技术 微信公众号 链接:https://mp.weixin.qq.com/s/np9Yoo02pEv9n_LCusZn3Q作者:李超 JavaScript 中的数组有很多特性 ...

js运用sort对json 数组进行排序

Array.sort()方法是用来对数组项进行排序的 ,默认情况下是进行升序排列.sort() 方法可以接受一个 方法为参数. sort()排序时每次比较两个数组项都回执行这个参数,并把两个比较的数组 ...

随笔 JS 字符串 分割成字符串数组 并动态添加到指定ID的DOM 里

JS /* * 字符串 分割成字符串数组 并动态添加到指定ID的DOM 里 * @id 要插入到DOM元素的ID * * 输入值为图片URL 字符串 * */ function addImages(i ...

js 字符串分割成字符串数组 遍历数组插入指定DOM里 原生JS效果

使用的TP3.2 JS字符串分割成字符串数组 var images='{$content.pictureurl} ' ;结构是这样 attachment/picture/uploadify/20141 ...

js递归遍历多维数组并在修改数组的key后返回新的多维数组

我司最近正在用VUE做一个基于用户权限显示不同左侧菜单的后台管理系统,接口会根据用户的权限不同返回不同的菜单名称.URL等,前端要将这些菜单名称及URL动态添加到系统的左侧,这里就用到了vue-rou ...

shell和python之间的参数传递

我们在使用shell调用其他语言的程序的时候,希望能够便捷的从shell中输入参数,然后由目标程序接收参数并运行,这样就省去了每次需要在原程序进行修改带来的麻烦,这里介绍一下如何从shell中 ...

shell和matlab之间的参数传递

shell和matlab之间的参数传递比shell和Python之间的参数传递要简单,在matlab程序中(以.m脚本文件为例,其他程序如函数等未测试)不需要进行任何配置,直接使用即可,见下面 ...

随机推荐

laravel----------------自动生成模型,控制器,视图的操作步骤。

首先要阅读这篇文章,你一定已经掌握了composer 和 artisan . 第一步,打开https://packagist.org/这个网址,在搜索框内输入way/generators 如图 第二步 ...

leetcode: Path Sum II 迭代法

Given a binary tree and a sum, find all root-to-leaf paths where each path's sum equals the given su ...

C和设计原则

---DO NOT REPEAT YOURSELF--- 建设性的懒惰,是程序员的第一美德.最简单的懒惰就是不要重复自己,简单到一个命名规则,例如C语言中: int osip_list_init (o ...

CCS内存数据转成图片

在嵌入式DSP图像处理开发过程中,经常需要将DSP内存中的图像数据保存下来,作为数据集.CCS5.4或者CCS3.3都只支持保存内存原始数据而不支持将内存数据直接存储为一张图片,为了能将CCS保存的. ...

Struts2学习笔记(二)——配置详解

1.Struts2配置文件加载顺序: default.properties(默认常量配置) struts-default.xml(默认配置文件,主要配置bean和拦截器) struts-plugin. ...

iOS开发-工厂模式

工厂模式算是开发中比较常见的设计模式,简单工厂模式,工厂模式和抽象工厂模式,都属于工厂模式.简单工厂模式(simple factory)是类的创建模式,静态工厂方法(static factory me ...

ssh 防止超时掉线

超时掉线的机制原始驱动力是什么?反正远程操作久置掉线确实挺烦的. 解决的办法呢,也是有的,客户端和服务器端都可以做.就是使用 no-op 反空闲协议发送呼吸包,来确认另一端是否在线:没回应就下线,而不 ...

nginx(一)----ubuntu14.04下安装nginx

/** * lihaibo * 文章内容都是根据自己工作情况实践得出. *如有错误,请指正 *转载请注明出处 */ 此文章中用到的软件下载地址: 链接: http://pan.baidu.com/s/ ...

MySQL--增加或修改列注释

##=============================================## ## 在创建表的时候为字段添加注释 ## CREATE TABLE TB003 ( ID INT P ...

mysql 的varchar类型小记