Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript数组作为对aspx文件的JQuery$.post调用的参数_Javascript_Jquery_Asp.net_Post - Fatal编程技术网

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

Javascript数组作为对aspx文件的JQuery$.post调用的参数,javascript,jquery,asp.net,post,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调试中一切看起来都很

这个问题似乎被问了好几次,但我使用的组件组合从未被问过,因此出现了一个新问题: 我目前的问题是,我似乎无法为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");
这是在Chrome开发工具中发送到aspx表单数据的结果:

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中对代码进行过测试。我还尝试了Ajax设置中的传统标志,但没有改进。我用simpel数据类型完成了这项工作,效果很好。我做错了什么?
非常感谢。

首先,有一个语法错误:firstArray:arr,arr后面应该有一个逗号。你好,SSA,谢谢你的回复,这只是为帖子格式化时的一个输入错误。我删除了一些其他问题。好的,然后尝试使用firstArray:JSON.stringifyarr,secondArray:JSON.stringifybrr,字符串化数组不起作用,但应用到param2对象至少现在参数似乎已正确发送。不过,我必须为此更改contentType:$.ajaxSetup{contentType:'application/json'};-现在我无法访问asp中的参数。。。Request.Form[type]给我空值。