当前位置:编程学习 > C#/ASP.NET >>

js中怎么传多个数组到mvc控制台中

  function Xladd() {
        var url = "/XT/AddXlAdd";
        var tss = document.getElementById("ts").value;
       
       // 区间
        var qj =[];
        //住宿
        var zs = [];
        //用餐
        var yc = [];
        //备注
        var bz = [];
        if (tss != "") {
            var qjid = "";
            var zsid = "";
            var ycid = "";
            var bzid = "";
            for (var i = 1; i <= tss; i++) {
                qjid = "qj" + i;
                zsid = "zs" + i;
                ycid = "yc" + i;
                bzid = "bz" + i;
                qj[i] = document.getElementById(qjid).value;
                zs[i] = document.getElementById(zsid).value;
                yc[i] = document.getElementById(ycid).value;
                bz[i] = document.getElementById(bzid).value;
            }
            alert(qj);
        }

        var data = {
            cpname: document.getElementById("cpname").value,
            cpxl: document.getElementById("cpxl").value,
            ts: document.getElementById("ts").value,
            cpmd: document.getElementById("cpmd").value,
            cpfbz: document.getElementById("cpfbz").value,
            nr: document.getElementById("nr").value,
            ts: document.getElementById("ts").value,
            thbz: document.getElementById("thbz").value
        }
        $.post(url, data, qj, zs, yc,bz,function (callback) {            if (callback.IsSuccess) {
                alert(callback.Msg);
                //window.location.href = "../Home/login";
            }
            else {
                alert(callback.Msg);
            }
        })
    }
红色字体部分就是js报错部分,请问我多个数组需要怎么才能传入到后台,而且能取出数据来,谢谢!! js中怎么传多个数组到mvc控制台中 --------------------编程问答-------------------- 都封装到data
  
*****************************************************************************
签名档: http://feiyun0112.cnblogs.com/ --------------------编程问答--------------------
$.post(url, { data:data, qj:qj, zs:zs, yc:yc,bz:bz },function (callback) {            if (callback.IsSuccess) {
                alert(callback.Msg);
                //window.location.href = "../Home/login";
            }


好吧,我承认说我是猜的~~ --------------------编程问答--------------------
引用 2 楼 wg5945 的回复:
$.post(url, { data:data, qj:qj, zs:zs, yc:yc,bz:bz },function (callback) {            if (callback.IsSuccess) {
                alert(callback.Msg);
                //window.location.href = "../Home/login";
            }


好吧,我承认说我是猜的~~

你这个我之前试过的,前台js不报错了,问题是后台怎么取数据呢? --------------------编程问答-------------------- JSON.parse()试试。 --------------------编程问答--------------------
引用 3 楼 qinjipan 的回复:
Quote: 引用 2 楼 wg5945 的回复:

$.post(url, { data:data, qj:qj, zs:zs, yc:yc,bz:bz },function (callback) {            if (callback.IsSuccess) {
                alert(callback.Msg);
                //window.location.href = "../Home/login";
            }


好吧,我承认说我是猜的~~

你这个我之前试过的,前台js不报错了,问题是后台怎么取数据呢?

后台参数列表必须和这里一致,用数组接收,必须是data,qj,zs,yc,bz,也就是参数签名必须一致。 --------------------编程问答--------------------
引用 5 楼 qxz_213 的回复:
Quote: 引用 3 楼 qinjipan 的回复:

Quote: 引用 2 楼 wg5945 的回复:

$.post(url, { data:data, qj:qj, zs:zs, yc:yc,bz:bz },function (callback) {            if (callback.IsSuccess) {
                alert(callback.Msg);
                //window.location.href = "../Home/login";
            }


好吧,我承认说我是猜的~~

你这个我之前试过的,前台js不报错了,问题是后台怎么取数据呢?

后台参数列表必须和这里一致,用数组接收,必须是data,qj,zs,yc,bz,也就是参数签名必须一致。

你说的不行根本就接收不到,一直是null --------------------编程问答--------------------
        var aa = [1, 2, 3];
        var bb = [4, 5, 6, 7];
        var url = "/Home/Save";
        $.post(url, { aa: JSON.stringify(aa), bb: JSON.stringify(bb) }, function (callback) {
            if (callback.IsSuccess) {
                alert(callback.Msg);
                //window.location.href = "../Home/login";
            } else {
                alert(callback.Msg);
            }
        });

        [HttpPost]
        public ActionResult Save(string aa, string bb)
        {
            return new JsonResult();
        }


貌似array是不能直接post的~~忘了~~
--------------------编程问答--------------------
引用 7 楼 wg5945 的回复:
        var aa = [1, 2, 3];
        var bb = [4, 5, 6, 7];
        var url = "/Home/Save";
        $.post(url, { aa: JSON.stringify(aa), bb: JSON.stringify(bb) }, function (callback) {
            if (callback.IsSuccess) {
                alert(callback.Msg);
                //window.location.href = "../Home/login";
            } else {
                alert(callback.Msg);
            }
        });

        [HttpPost]
        public ActionResult Save(string aa, string bb)
        {
            return new JsonResult();
        }


貌似array是不能直接post的~~忘了~~


array 当然可以直接通过jq post   后台接受的名是  name[]  ,字符串是以,做分割

--------------------编程问答--------------------
引用 8 楼 rayyu1989 的回复:
Quote: 引用 7 楼 wg5945 的回复:

        var aa = [1, 2, 3];
        var bb = [4, 5, 6, 7];
        var url = "/Home/Save";
        $.post(url, { aa: JSON.stringify(aa), bb: JSON.stringify(bb) }, function (callback) {
            if (callback.IsSuccess) {
                alert(callback.Msg);
                //window.location.href = "../Home/login";
            } else {
                alert(callback.Msg);
            }
        });

        [HttpPost]
        public ActionResult Save(string aa, string bb)
        {
            return new JsonResult();
        }


貌似array是不能直接post的~~忘了~~


array 当然可以直接通过jq post   后台接受的名是  name[]  ,字符串是以,做分割



有道理~~

var aa = Request.Params["aa[]"];
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,