将AJAX请求发送到.aspx页面并返回JSON

Rah*_*ari 5 asp.net ajax json web-services webforms

我知道可以向.asmx页面发送AJAX请求.我也知道一个.asmx页面通过Web方法处理AJAX请求.

是否也可以向.aspx页面发送AJAX请求?如果是这样,.aspx页面是否也通过Web方法处理AJAX请求?请注意,我想从.aspx页面返回JSON响应.这可能吗?

Zed*_*Bee 9

您可以在.aspx页面的代码隐藏中定义Web方法,然后调用它们:

[WebMethod]
public static string doSomething(int id)
{
    ...
    return "hello";
}
Run Code Online (Sandbox Code Playgroud)

然后,在jQuery代码中调用web方法:

$.ajax({
    type: "POST",
    url: "YourPage.aspx/doSomething",
    data: "{'id':'1'}",
    dataType: "json",
    contentType: "application/json; charset=utf-8",
    success: function (data) {
        var returnedstring = data.d;
        var jsondata = $.parseJSON(data.d);//if you want your data in json
    }
});
Run Code Online (Sandbox Code Playgroud)

这是一个很好的入门链接.