尝试在ASPX页面上调用Web方法时获取ASPX页面html。这是jQuery代码

  $(function () {
        $.ajax({
            type: 'POST',
            url: 'Default.aspx/Hello',
            data: "{}",
            async: false,
            success: function (response) {
                console.log('Success: ', response);
            },
            error: function (error) {
                console.log('Error: ', error);
            }
        });
    });

这是网络方法代码
 [System.Web.Services.WebMethod]
    public static string Hello()
    {
        string returnString = "hoiiiiiii";
        return returnString;
    }

谁能指出什么是错的。

最佳答案

两件事情:

  • 您在jQuery contentType函数中缺少.ajax()
  • 您需要在JSON响应中考虑.d值。
    $.ajax({
        type: "POST",
        url: "Default.aspx/Hello",
        data: "{}",
        async: false,
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function(result) {
            if (result.hasOwnProperty("d")) {
                // The .d is part of the result so reference it
                //  to get to the actual JSON data of interest
                console.log('Success: ', result.d);
            }
            else {
                // No .d; so just use result
                console.log('Success: ', result);
            }
        }
    });
    


  • 关于c# - 无法使用jQuery Ajax调用aspx页面Web方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20658042/

    10-13 00:18