【问题标题】:Unknown WebMethod error while calling it from Jquery using Ajax使用 Ajax 从 Jquery 调用它时出现未知的 WebMethod 错误
【发布时间】:2014-04-18 07:17:51
【问题描述】:

我有一个我试图从 jquery ajax 调用的 web 方法,但它没有被调用。 在萤火虫当我看到我得到的回应时,

<title>Unknown web method MyMethod.<br>Parameter name: methodName</title>

错误。当该方法在服务器端可用时,我无法了解出现此错误的原因。 这是我的客户端代码..

$("#excel").on("click", function (e) {
            e.preventDefault();
            var img = "image";
            $.ajax({
                type: "POST",
                url: "Default.aspx/MyMethod",
                data: JSON.stringify({ imageData: img }),
                contentType: "application/json; charset=utf-8"
            }).done(function (o) {
                console.log(["Response:", o]);
            });
        });

这是我的服务器端代码..

[WebMethod()]
public static void MyMethod(string imageData)
{

    string fileNameWitPath = "D:/Kabir/custom_name.png";
    using (FileStream fs = new FileStream(fileNameWitPath, FileMode.Create))
    {
        using (BinaryWriter bw = new BinaryWriter(fs))
        {
            byte[] data = Convert.FromBase64String(imageData);//convert from base64
            bw.Write(data);
            bw.Close();
        }
    }
}

请帮我解决这个问题,因为我完全被这个问题所困扰。 提前谢谢..

【问题讨论】:

    标签: javascript jquery asp.net ajax web-services


    【解决方案1】:

    使用这个对我有用System.Web.Services.WebMethod
    试试这个

    [System.Web.Services.WebMethod]
    public static void MyMethod(string imageData)
    {
    }  
    
    • System.Web.Services.WebMethod()
      初始化 System.Web.Services.WebMethodAttribute 类的新实例
    • System.Web.Services.WebMethod
      将此属性添加到使用 ASP.NET 创建的 XML Web 服务中的方法可以使该方法可以从远程 Web 客户端调用

    如果上述方法不起作用,请确保您传递的url 是正确的。如果它仍然不起作用Check this out

    这在我的系统上确实有效
    默认.aspx

    <form id="form1" runat="server">
    <div id="excel">
        Here</div>
    </form>
    <script type="text/javascript">
        $("#excel").on("click", function (e) {
            e.preventDefault();
            var img = "image";
            $.ajax({
                type: "POST",
                url: "Default.aspx/MyMethod",
                data: JSON.stringify({ imageData: "Hello" }),
                contentType: "application/json; charset=utf-8"
            }).done(function (o) {
                console.log(["Response:", o]);
            });
        });
    </script>
    

    默认.aspx.cs

    [System.Web.Services.WebMethod]
    public static string MyMethod(string imageData)
    {
        return imageData;
    }
    

    【讨论】:

    • [System.Web.Services.WebMethod()] public static void MyMethod(string imageData) { 但同样的错误仍然存​​在
    • @Laxman 检查您的url 是否正确.. 如果您是从同一页面调用,那没关系... 或者您可以尝试使用~..
    • 仍然错误是一样的先生。请先生在你身边检查我的代码并帮助我,因为我完全陷入了这种情况。
    • webMethod 位于 .aspx 页面的代码隐藏文件中,即 aspx.cs
    • 先生,的起始标签是什么......请也发布
    【解决方案2】:

    如果您正在寻找有关 VB.net 的答案,您需要将您的函数设为 Public Shared。我自己也遇到过这个问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-04-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多