发送AJAX请求为.aspx页面并返回JSON(Send AJAX request to .aspx

2019-07-19 01:18发布

我知道这是可以发送一个AJAX请求到.asmx页。 而且我也知道,一个.asmx页面处理通过网络方法的AJAX请求。

是否也可以发送一个AJAX请求到.aspx页面? 如果是这样,一个.aspx页面还处理通过网络方法的AJAX请求? 请注意,我想返回从一个JSON响应.aspx页面。 这可能吗?

Answer 1:

你可以在你的代码隐藏定义Web方法.aspx页面,然后打电话给他们:

[WebMethod]
public static string doSomething(int id)
{
    ...
    return "hello";
}

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

$.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
    }
});

这里是开始一个很好的链接。



Answer 2:

如果我理解正确的问题,.aspx的是一样的HTML。 它会被渲染为HTML。 但唯一的区别是服务器端和控制保持状态与状态机制。

所以你可以做的jQuery $.ajax()函数。

$.ajax({
     url: UrlToGetData,
     dataType:'json',
     success:function(data){
             //do some thing with data. 
           }
});

或者,如果你想写出JSON值的响应,然后使用Response.ContentType首先使用任何JavaScript串行器(JSON.NET),那么这样设置的contentType。

Response.ContentType="application/json";


Answer 3:

 $.ajax({
            url: "(aspx page name/method to be called from the aspx.cs page)",
            type: "POST",
            dataType: "json",
            data: $.toJSON(jsonData),
            contentType: "application/json; charset=utf-8",
            success: function (data, textStatus, jqXHR) {
                 //TO DO after success
        }
});

试试上面的代码



文章来源: Send AJAX request to .aspx page and return JSON