我以前从未使用过 $.ajax(),如果您发现任何错误,请告诉我;)
我使用 jQuery $.ajax() 来调用带有 JSON 的 webmethod。
webmethod 的简单定义应该如下所示:
[WebMethod]
public static bool MyMethod(string a, string b, string c) {
...
}
$.ajax() 中 data 参数的值为:
myData => "'a':'val_a', 'b':'val_b','c':'val_c'"
这是我的 ajax 调用:
$.ajax({
type: "POST",
url: "AspDotNetPage.aspx/MyMethod",
data: "{" + myData + "}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(msg) {
alert(msg);
}
});
现在棘手的部分来了。我需要向我的网络方法添加一个额外的参数。我必须将某个 div 内的所有复选框、它们的名称以及是否被选中发送到我的 webmethod。我有 Jquery 代码来选择这些值。这是我在正常的代码隐藏编程中看到的附加参数,就像
[WebMethod]
public static bool MyMethod(string a, string b, string c, Dictionary<string,bool> dict) {
...
}
它保存我的复选框文本值以及是否已选中。
我对 JSON 的实际工作原理一无所知,我只知道我必须尽快完成这项工作。
可能必须使用某种多维 JavaScript 数组。如果您对这个问题的最佳方法有任何想法,我将很高兴!
/丹尼尔·斯文森,瑞典