未知的web方法,试图使用AJAX发送json
本文关键字:AJAX 发送 json web 方法 未知 | 更新日期: 2023-09-27 18:12:22
我试图将一些数据(参数)从客户端(html)传递到服务器端(c#代码后面)到一个方法,这是使用JSON格式的AJAX完成的,但我得到以下错误:
我的AJAX代码是:未知Web方法
var jsonObj = { "sCriterion": sCriterion };
$.ajax({
type: "POST",
url: "NewToken.aspx/GetSelection",
data: jsonObj,
contentType: "application/json; charset=utf-8",
dataType: "json",
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert("Request: " + JSON.stringify(XMLHttpRequest) + "'n'nStatus: " + textStatus + "'n'nError: " + errorThrown);
},
success: function (result) {
alert(data);
alert("We returned: " + result);
}
});
这是我的代码隐藏方法:
[WebMethod]
private static string GetSelection(string selectedItem)
{
var json = new JavaScriptSerializer();
var data = json.Deserialize<Dictionary<string, Dictionary<string, string>>[]>(selectedItem.ToString());
var jsonObj = json.Serialize("proceeded");
return jsonObj;
}
该方法应该是public static
才能工作。
[WebMethod]
public static string GetSelection(string selectedItem)
{
var json = new JavaScriptSerializer();
var data = json.Deserialize<Dictionary<string, Dictionary<string, string>>[]>(selectedItem.ToString());
var jsonObj = json.Serialize("proceeded");
return jsonObj;
}
您的GetSelection
方法必须为public
,但您将其设置为private