//为数组添加一个方法,判断某个值是否存在于数组中
Array.prototype.in_array = function (e) {
for (i = 0; i < this.length && this[i] != e; i++);
return !(i == this.length);
}
var array = new Array();

//数组中的Item
var arr = {
//"RFQID": $("#ID").val(),
"RFQID": $(this).attr("rfqid"),
"SiteCode": $(this).attr("site"),
"ProcessID": $(this).attr("processid"),
"ForecastLoading": $(this).val(),
"SimulateNumber": 2,
"MainRFQID": $("#ID").val()
} array .push(arr); //将Item塞入数组
$.ajax({
type: "Post",
processData: false,
contentType: 'application/json; charset=UTF-8',
url: "/ReportSimulation/UpdateProcessForecastLoading",
data: { list: arrObj },
beforeSend: function (xhr, setting) {
setting.data = JSON.stringify(setting.data);//转为Json
},
success: function (r) {
if (r.Success) {
alert("Success");
} else {
alert("Error");
}
}
});

服务器接收:

public ActionResult UpdateProcessForecastLoading(List<ForecastProcessLoadingVM> list)

ForecastProcessLoadingVM 申明:

 public class ForecastProcessLoadingVM
{
public Guid RFQID { get; set; }
public string SiteCode { get; set; }
public Guid ProcessID { get; set; }
public string ProcessName { get; set; }
public double? ForecastLoading { get; set; }
public int SimulateNumber { get; set; }
public Guid MainRFQID { get; set; }
}

JQGrid中,直接将grid getRowData就可以传回了:

      var gridData = $gridCAPEX.getRowData();
//var postData = JSON.stringify(gridData);
//alert("JSON serialized jqGrid data:\n" + postData); var data = {
ID: $("#ID").val(),
NeedNewCAPEX: $("#NeedNewCAPEX").val(),
CAPEXVMList: gridData
}; $.ajax({
type: "Post",
processData: false,
contentType: 'application/json; charset=UTF-8',
url: "/BDFormPage/SaveCAPEX",
data: data,
beforeSend: function (xhr, setting) {
setting.data = JSON.stringify(setting.data);
},
success: function (r) {
if (r.Success) {
alert("Success");
} else {
alert("Error");
}
}
});

注意:getRowData取的是innerHtml,针对Select类型的选项,一定要将其格式也设置为Select,否则会传回Text,不传回Value

{
label: "Category", name: "Category", index: "Category", hidden: false, editable: true,
editrules: { required: true },
edittype: "select", formatter: "select", editoptions: {
value: { 1: "New", 2: "Existing" }
}
},

加上

formatter: "select",getRowData取出的是1 2,否则取出的是New Existing

使用JS传递数组型数据回服务器的更多相关文章

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

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

  2. js传递数组

    注意:数组不能直接作为参数传给后台,需要先用JSON处理成数组字符串,传到后台后再转回数组. var arr_str = JSON.stringify(array)

  3. js传递json格式对象到服务器

    var message = new Object();message.event = "test";message.params = new Object();message.pa ...

  4. js传递数组到后台

    //post方法不得行,各种问题...改为ajax就阔以了.//默认的话,traditional为false,即jquery会深度序列化参数对象,以适应如PHP和Ruby on Rails框架, // ...

  5. 前端Js传递数组至服务器端

    $("#delete").click(function () { var ID = ""; var ary = []; var bb = document.ge ...

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

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

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

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

  8. JS 索引数组、关联数组和静态数组、动态数组

    JS 索引数组.关联数组和静态数组.动态数组 数组分类: 1.从数组的下标分为索引数组.关联数组 var ary1 = [1,3,5,8]; //按索引去取数组元素,从0开始(当然某些语言实现从1开始 ...

  9. 在ASP.NET MVC中以post方式传递数组参数的示例

    最近在工作中用到了在ASP.NET MVC中以post方式传递数组参数的情况,记录下来,以供参考. 一.准备参数对象 在本例中,我会传递两个数组参数:一个字符串数组,一个自定义对象数组.这个自定义对象 ...

随机推荐

  1. .NET中的异常处理机制(二)

    本文我们继续通过另一个例子来讲解在C#中如何捕捉异常并进行处理. 首先,我们新建一个控制台应用和一个Class Library Project.如下图所示. 图1 ConsoleUI应用 图2 Exc ...

  2. ASP.NET Core 2.0 in Docker on Windows Containers

    安装Docker for Windows https://store.docker.com/editions/community/docker-ce-desktop-windows 要想将一个ASP. ...

  3. 【Oracle 12c】最新CUUG OCP-071考试题库(60题)

    60.(16-10) choose the best answer: Evaluate the following SQL commands: SQL>CREATE SEQUENCE ord_s ...

  4. 【文文殿下】对后缀自动机(SAM)的理解

    后缀自动机,是一种数据结构,是由状态和转移关系构成的.它虽然叫做后缀自动机,可是他却与后缀并没有什么太大的联系. 后缀自动机的每一种状态都是原串的一些子串的集合,每个子串只唯一存在于某个状态中,对每一 ...

  5. 50余本中外Python电子教程及源码下载地址

    链接:http://pan.baidu.com/s/1c0VTwsC 密码:hapu

  6. 结合业务,精炼SQL

    现代网站,性能的瓶颈都围绕着数据库的性能来谈.数据库是存储的核心部件,在日益增长的流量中会凸显数据库的性能瓶颈.从<淘宝技术十年>书中来看,淘宝发展历程中从MYSQL换成了ORACLE又换 ...

  7. RunningCassandraInEclipse(转载)

    转载自:http://wiki.apache.org/cassandra/RunningCassandraInEclipse Eclipse is open source. Download Ecli ...

  8. python3.6的request

    request实例1: import requests payload = {'key1':'value','key2':'value2'} url = "http://httpbin.or ...

  9. linux如何安装和启动mongdb

    1.下载安装包 下载地址: https://www.mongodb.com/dr/fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.0.9.tgz/dow ...

  10. java四行代码实现图片下载

    如下: InputStream in = new URL("http://www.updown/thumbnail.jpg).openStream(); Path temp = Paths. ...