【问题标题】:ASP.NET jQuery error: Unknown Web MethodASP.NET jQuery 错误:未知的 Web 方法
【发布时间】:2010-09-15 20:21:11
【问题描述】:

这是我第一次尝试从 jQuery 调用 ASP.NET 页面方法。我在 responseText 消息中收到状态 500 错误,提示找不到 Web 方法。这是我的 jQuery $.ajax 调用:

function callCancelPlan(activePlanId, ntLogin) {
    var paramList = '{"activePlanId":"' + activePlanId + '","ntLogin":"' + ntLogin + '"}';
    $.ajax({
        type: "POST",
        url: "ArpWorkItem.aspx/CancelPlan",
        data: paramList,
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function() {
            alert("success");
        },
        error: function(xml,textStatus,errorThrown) {
            alert(xml.status + "||" + xml.responseText);
        }
    });
}

这是我试图调用的页面方法:

[WebMethod()]
private static void CancelPlan(int activePlanId, string ntLogin)
{
    StrategyRetrievalPresenter presenter = new StrategyRetrievalPresenter();
    presenter.CancelExistingPlan(offer, ntLogin);            
}

我已经通过使用和不使用括号'()' 来装饰 Web 方法来尝试这个。有人有想法吗?

【问题讨论】:

    标签: asp.net jquery ajax


    【解决方案1】:

    您的网络方法需要是公共的和静态的。

    【讨论】:

    • 您的网络方法需要声明为“静态”
    • @Max -- 正确,它必须是公共的和静态的,尽管在这个问题中它已经是静态的。
    • 我只是猜测维克多的问题是忘记了静电。
    • 请注意,对于 asmx 中的 Web 方法,情况并非如此,它们必须是公共的而不是静态的。见stackoverflow.com/questions/4543347/… 和stackoverflow.com/questions/3158678/…
    【解决方案2】:

    清理解决方案并重建。在你这样做之前,我已经看到 webmethods 抛出 500 次。

    【讨论】:

      【解决方案3】:

      在您的方法前添加public static...

      例如。

      [WebMethod]
      public static string MethodName() {}  
      

      【讨论】:

        【解决方案4】:

        为了 ajax 成功:

        对我来说,这样做很有帮助:

        1. App_Start\RouteConfig

          设置 来自

        settings.AutoRedirectMode = RedirectMode.Permanent;
        

        到

        settings.AutoRedirectMode = RedirectMode.Off;
        
        1. 制作你的使用方法:
        public
        
        static
        
        1. 添加:
        using System.Web.Services;
        

        在方法之上只使用:

        [WebMethod] 
        

        够了

        【讨论】:

          猜你喜欢
          • 2019-01-08
          • 1970-01-01
          • 2021-06-22
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-02-07
          • 2017-04-26
          • 1970-01-01
          相关资源
          最近更新 更多