Skip to main content
 首页 » 编程设计

c#之未知的网络方法,尝试使用 AJAX 发送 json

2024年04月17日71shangdawei

我正在尝试将一些数据(参数)从客户端 (html) 传递到服务器端(C# 代码隐藏)到一个方法,这是使用 JSON 格式的 AJAX 完成的,但我得到以下信息错误:

Unknown Web Method

我的 AJAX 代码是:

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 才能工作。不是私有(private)的!

[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; 
}