【问题标题】:500 Internal Server Error ASP.NET500 内部服务器错误 ASP.NET
【发布时间】:2024-01-23 23:51:01
【问题描述】:

我尝试使用来自 Web 服务的 JQuery 进行简单调用。 它给了我“500 内部服务器错误”。 这是我的脚本:

<script type="text/javascript">
        $(document).ready(function() {
            $("#sayHelloButton").click(function(event) {
                $.ajax({
                    type: "POST",
                    url: "dummyWebsevice.asmx/HelloToYou",
                    data: "{'name': '" + $('#name').val() + "'}",
                    contentType: "application/json; charset=utf-8",
                    dataType: "json",
                    success: function(msg) {
                        AjaxSucceeded(msg);
                    },
                    error: AjaxFailed
                });
            });
        });

        function AjaxSucceeded(result) {
            alert(result.d);
        }

        function AjaxFailed(result) {
            alert(result.status + ' ' + result.statusText);
        }  
    </script>

这是我在网络服务端的代码:

[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.Web.Script.Services.ScriptService]

public class dummyWebservice : System.Web.Services.WebService
{
    [WebMethod()]
    public string HelloToYou(string name)
    {
        return "Hello and welcome, " + name;
    }
[WebMethod()]
public string sayHello()
{
    return "Hi!";
}

}

如果我的问题是多余的,我很抱歉,但我似乎找不到我的错误,我对此还是很陌生。 提前谢谢你。

我正在关注此页面中的示例: http://dotnetslackers.com/articles/ajax/Using-jQuery-with-ASP-NET.aspx

【问题讨论】:

  • 在 web 服务方法中放置断点会得到什么?它是否达到了您期望的方法?传入的参数是什么?

标签: jquery asp.net web-services


【解决方案1】:

我试过你的代码,它工作正常。看起来你在 Visual Studio 中重命名了服务名称。 请检查您是否指向正确的 claas

    <%@ WebService Language="C#" 
CodeBehind="~/App_Code/WebService.cs" Class="dummyWebservice" %>

【讨论】:

  • 我重新编写了代码,现在它似乎可以工作了。我想也许我不小心改变了一些东西。非常感谢您的帮助!
【解决方案2】:

您应该这样发送数据:

data: {'name': $('#name').val() },

希望这会有所帮助。干杯

【讨论】: