zoukankan      html  css  js  c++  java
  • 使用JS传递数组型数据回服务器

    //为数组添加一个方法,判断某个值是否存在于数组中
    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:
    " + 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
  • 相关阅读:
    PAT 甲级 1132 Cut Integer (20 分)
    AcWing 7.混合背包问题
    AcWing 9. 分组背包问题
    AcWing 5. 多重背包问题 II
    AcWing 3. 完全背包问题
    AcWing 4. 多重背包问题
    AcWing 2. 01背包问题
    AcWing 875. 快速幂
    AcWing 874. 筛法求欧拉函数
    AcWing 873. 欧拉函数
  • 原文地址:https://www.cnblogs.com/ceci/p/4329268.html
Copyright © 2011-2022 走看看