Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.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
C# 对ASP.NET Web服务的AJAX请求-使用哪种参数类型?_C#_Jquery_Asp.net_Ajax_Json - Fatal编程技术网

C# 对ASP.NET Web服务的AJAX请求-使用哪种参数类型?

C# 对ASP.NET Web服务的AJAX请求-使用哪种参数类型?,c#,jquery,asp.net,ajax,json,C#,Jquery,Asp.net,Ajax,Json,我有一个JSON对象数组,其中一些包含键/值对,其值是数组 例如: var jsonArray = [{ "key1":"value1", "key2":["value21", "value22"]}, { "key1":"value3", "key2":["value41", "value42"]}]; 编辑:意外使用大括号而不是括号 我正在尝试使用jQuery通过AJAX将其发送到ASP.NET web服务: $.ajax({ type: "pos

我有一个JSON对象数组,其中一些包含键/值对,其值是数组

例如:

var jsonArray = [{ "key1":"value1", "key2":["value21", "value22"]},
                 { "key1":"value3", "key2":["value41", "value42"]}];
编辑:意外使用大括号而不是括号

我正在尝试使用jQuery通过AJAX将其发送到ASP.NET web服务:

$.ajax({
    type: "post",
    url: "example.asmx/SomeFunction"
    data: "{ 'items': '" + JSON.stringify(jsonArray) + "' }",
    contentType: "application/json;charset=utf-8",
    dataType: "json"
});
这是发送数据的正确方式吗?另外,我在
SomeFunction
参数中需要什么数据类型来接受和解析JSON数据

这是发送数据的正确方式吗

不,以下情况会更好:

$.ajax({
    type: "post",
    url: "example.asmx/SomeFunction"
    data: JSON.stringify({ items: jsonArray }),
    contentType: "application/json;charset=utf-8",
    dataType: "json"
});
另外,在SomeFunction参数中我需要什么数据类型来接受和解析JSON数据

它将映射到:

public void SomeFunction(IEnumerable<Foo> items)
{
    ...
}

在我的示例中,我使用了
IEnumerable
,因为我假设您将只对值进行枚举,但是如果您需要索引器,您还可以将它们定义为数组
T[]

,这非常有帮助。非常感谢。
public class Foo
{
    public string Key1 { get; set; }
    public IEnumerable<string> Key2 { get; set; }
}