Javascript数组作为JQuery $ .post调用aspx文件的参数

时间:2014-09-30 13:25:14

标签: javascript jquery asp.net post

这个问题好像被问了好几次,但从来没有使用我正在使用的组件组合,因此是一个新问题: 我目前的问题是我似乎无法向POST调用提供javascript数组,它总是将数组中的每个条目拆分起来,并从中获取非唯一的POST参数。这就是我目前所拥有的:

var arr = new Array(); // filled with strings
var brr = new Array(); // also filled with strings
var id = 1;

//在这里填充数组,JS调试中的一切看起来都很好,数组正确填充

param2 = {
            "type": "getXY",
            "firstArray": arr,
            "secondArray": brr,
            "someID": id
        }

$.post("process.aspx", param2, function (result) {
        // If successfull, do stuff
    }, "json");

这是发送到aspx的结果(Chrome开发工具中的表单数据):

type:getXY
arr[]:225
arr[]:226
secondArray[]:Hardware
secondArray[]:Hardware
someID:1

另一方面(aspx):

protected void Page_Load(object sender, EventArgs e)
        {
            Response.Clear();
            Response.ClearContent();

            if (Request.Form["type"] != null)
            {
                // Determine what kind of data shall be retrieved
                switch(Request.Form["type"].ToString())
                {
                    case "getXY":
                        System.Collections.Generic.List<ResultStuff> result = new System.Collections.Generic.List<ResultStuff>();
                        JavaScriptSerializer jsonID = new JavaScriptSerializer();
                        System.Collections.Generic.List<String> assetIDList = jsonID.Deserialize<System.Collections.Generic.List<String>>(Request.Form["firstArray"]);
//more stuff here
                        Response.Write(result);
                        break;
                    default:
                        Response.Write("Request string invalid.");
                        break;
                }
            }
            else
            {
                Response.Write("Request string missing.");
            }
        }

我也希望得到一些结果作为回应,但我从来没有达到过度测试aspx中的代码。我也尝试过ajaxSetup中的传统标志,但它没有改进。我用simpel数据类型做了这个,效果很好。我究竟做错了什么? 非常感谢。

0 个答案:

没有答案