C# Jquery Ajax调用ASMX web服务错误

C# Jquery Ajax调用ASMX web服务错误,c#,jquery,asp.net,ajax,C#,Jquery,Asp.net,Ajax,我有一个ASP.NETWebForms应用程序,它有一个ASMXWeb服务文件,目前只有一个方法。我试图从同一项目中的另一个文件调用该方法,但它似乎不起作用。当我在chrome中查看控制台窗口时,它指出web服务存在内部错误。使用ASMX接口,我可以手动调用该方法,但它不能从AJAX代码中调用。我无法确定错误的来源 ASMX网络方法 [WebMethod] public string TestMethod() { string x = "{Name:Sho

我有一个ASP.NETWebForms应用程序,它有一个ASMXWeb服务文件,目前只有一个方法。我试图从同一项目中的另一个文件调用该方法,但它似乎不起作用。当我在chrome中查看控制台窗口时,它指出web服务存在内部错误。使用ASMX接口,我可以手动调用该方法,但它不能从AJAX代码中调用。我无法确定错误的来源

ASMX网络方法

    [WebMethod]
    public string TestMethod()
    {
        string x = "{Name:Shooter McGavin}";
        return x;
    }
来自ASP.NET页面的JQuery。我知道click事件正在触发,并且我还确认,如果表单有效,则代码在IF语句中进行

       $("#AddSupplierBtn").click(function()
        {
            if ($("#AddSupplier").valid())
            {

                $.ajax({
                    type: "POST",
                    url: "/StockPileDelivery.asmx/TestMethod",
                    data: "{}",
                    contentType: "application/json; charset=utf-8",
                    dataType: "json",
                    success: function (msg) {
                        alert(msg.data);
                    }
                });
            }
        });

通常,如果您查看“网络”选项卡,或者甚至单击控制台中的错误,它会给出实际错误。它返回的全部是500(内部服务器错误)。您使用的是Chrome吗?如果您打开开发人员控制台(F12)并转到网络,对外部资源的任何请求都将被记录,包括web方法。从那里,如果有错误,它将显示为红色文本。单击它将显示请求和响应。响应应该包含实际的异常,而不是一般的异常。另外,你的JS所在页面的ASMX文件在哪里?我使用Chrome。我在网络中没有看到任何调用web方法的内容,但如果我在控制台选项卡中展开错误,它会声明:send@jquery-1.9.1.min.js:5 ajax@jquery-1.9.1.min.js:5(匿名)@AddSupplier.aspx:228 dispatch@jquery-1.9.1.min.js:3 v.handle@jquery-1.9.1.min.js:3“{Name:Shooter McGavin}”是无效的JSON。可能不是导致错误的原因,但仍有一些问题需要解决。