【问题标题】:500 error getting object from web service by AJAX in ASP.NET在 ASP.NET 中通过 AJAX 从 Web 服务获取对象时出现 500 错误
【发布时间】:2014-11-21 07:59:19
【问题描述】:

我在向 Web 服务发出 AJAX 请求时遇到问题。

我正在尝试连接到 Web 服务并取回一个对象以使用其数据填充 HTML 表单以进行编辑。

AJAX 代码:

$.ajax({
    type: "GET",
    url: "WebService.asmx/UpdateNewGroup",
    data: "{ id : '7'}",
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: function (data) {
        var myData = JSON.parse(data.d); // data.d is a JSON formatted string, to turn it into a JSON object
        alert("s");
    }
});

还有网络服务:

[WebMethod]
public MeGroup UpdateNewGroup(String id)
{
    MeGroup group = new MeGroup();
    return group;
}

这是我发送请求时遇到的错误:

500 (Internal Server Error) 

web服务的路径是对的,我在服务的web.config启用了POST和GET请求。

我可能会错过什么?

编辑:

这是我根据 J0e3gan 的评论发现的错误消息:

只能从脚本调用类定义中具有 [ScriptService] 属性的 Web 服务。

【问题讨论】:

  • 当您收到500 (Internal Server Error) 时,它清楚地表明问题出在服务器端。
  • 好的,我知道,但我该怎么办?
  • 如果您运行服务的调试版本、在 Web 方法中设置断点并将调试器附加到它,您会看到什么?您应该能够获得底层异常的完整堆栈跟踪。或者,您可以在服务器的 Windows 应用程序事件日志中找到 500 错误的详细信息。无论如何,我们需要有关底层服务器错误的更多信息来帮助您。
  • 只能从脚本调用类定义中具有 [ScriptService] 属性的 Web 服务。

标签: jquery asp.net ajax web-services


【解决方案1】:

根据您在回复我的评论时分享的错误详细信息,将ScriptService 属性添加到您的服务类中,如下所示:

[WebService(Namespace = "http://yournamespace/")]
[ScriptService]
public class Your service
{
    [WebMethod]
    public MeGroup UpdateNewGroup(String id)
    {
        MeGroup group = new MeGroup();
        return group;
    }
}

【讨论】:

  • 感谢它对我的工作是的,我应该添加 [ScriptService]
  • @SamySammour:乐于助人。现在您知道了在遇到类似的服务器端错误时如何获取更多相关信息。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-03-12
  • 2018-04-01
  • 2014-08-06
  • 2018-02-10
  • 2012-09-01
  • 1970-01-01
相关资源
最近更新 更多