Ajax请求不适用于ASP.NET页面方法

时间:2018-06-13 20:58:03

标签: c# asp.net webforms pagemethods

我尝试了很多示例代码,但都不起作用。 Ajax调用根本不返回任何内容。没有警报弹出窗口。

这是ajax代码:

<script src="Scripts/jquery-1.10.2.js" type="text/javascript"></script>
<script type="text/javascript"> 
    $(document).ready(function() {
        $.ajax({         
            type: "POST",
            url: "mysqlcall.aspx/Testing",
            contentType: "application/json; charset=utf-8",
            data: {""},
            dataType: "json",
            success: function (data) {
                alert("idkbro");
                //  $("#testing").text(response.d);
            },
            failure: function (response) {
                alert(response.d);
            }
        });
    });
</script>

这是电话页面:

public partial class mysqlcall : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {    
    }

    public string Testing()
    {
        return "asdlasldalsdl";
    }
}

我在最新版本的IIS上运行它并使用带有路由的asp.net C#webforms。 mysqlcall.aspx没有路由,但无关紧要我尝试使用路由页面。任何帮助将不胜感激。

编辑:感谢@wazz,问题出现在

url: "mysqlcall.aspx/Testing",

相反,它必须以斜杠开头,如:

url: "/mysqlcall.aspx/Testing",

1 个答案:

答案 0 :(得分:0)

添加WebMethod属性并制作方法static

[WebMethod]
public static string Testing()
{
    return "asdlasldalsdl";
}

您也可以从ajax调用中删除data,或删除引号。