如何在用WebMethod
修饰的aspx页面方法中返回错误?
示例代码
$.ajax({
type: "POST",
url: "./Default.aspx/GetData",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: AjaxSucceeded,
error: AjaxFailed
});
[WebMethod]
public static string GetData()
{
}
如何从webmethod返回错误?因此,可以使用jquery错误部分来显示错误详细信息。
5条答案
按热度按时间ggazkfy81#
我不知道是否有一个更具体的
WebMethod
的方法来做这件事,但在ASP.NET中,你通常只是为你的Response object设置状态码。大概是这样的:使用标准错误代码是将错误通知使用HTTP客户端的适当方式。在结束响应之前,您还可以
Response.Write()
任何要发送的消息。这些格式的标准化程度要低得多,因此您可以创建自己的格式。但是只要状态代码准确地反映了响应,那么您的JavaScript或任何其他使用该服务的客户端都将理解错误。bvhaajcl2#
只需在PageMethod中抛出异常并在AjaxFailed中捕获它。就像这样:
d8tt03nd3#
错误由结果页的http状态代码(4xx -用户请求错误,5xx -内部服务器错误)指示。我不知道asp.net,但我猜你必须抛出一个异常或类似的东西。
z18hc3ub4#
jQuery xhr将在responseText/responseJSON属性中返回错误和堆栈跟踪。
例如:C#:
JavaScript语言:
gywdnpxw5#
我尝试了所有这些解决方案以及其他StackOverflow答案:
对我来说什么都不管用。
所以我决定自己手动捕获
[WebMethod]
错误。看我的例子: