从javascript调用服务器端方法时出错

时间:2015-04-30 11:50:58

标签: javascript asp.net

[WebMethod]
public static string simple()
{
    Home h = new Home();
    h.logout();

    return "dfdsf";
}
public void logout()
{
    Response.Redirect(Config.Value("logout"));
}

客户端代码

$('#logout').on('click', function () {
    console.log("dfsnhkjdfsj");
    $.ajax({
        type:"GET",
        url: "Home.aspx/simple"
        }).done(function () {
        console.log("dfsds");
    });

});

http://localhost:14605/Home.aspx/simple 404(未找到)它显示找不到方法请帮助清除

2 个答案:

答案 0 :(得分:1)

尝试不使用.aspx。 Home是控制器的名称,simple是控制器中的方法名称。

$('#logout').on('click', function () {
    console.log("Clicked");
    $.ajax({
        type:"GET",
        url: "Home/simple"
        }).done(function () {
        console.log("Done");
    });

});

答案 1 :(得分:1)

如果您的服务器端方法在您的代码中,那么这应该可以正常工作

JS

$('#logout').on('click', function () {
    console.log("Clicked");
    PageMethods.simple(yourParameterIfAny, onSucess, onError);
        function onSucess(result) {
            /*OK*/
        }
        function onError(result) { /*Error*/ }
});

并且您的脚本管理器必须将其属性EnablePageMethods设置为true

            <asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true">
            </asp:ScriptManager>