gpt4 book ai didi

asp.net - 使用 jQuery ajax 时如何在 VB.NET 中捕获异常

转载 作者:行者123 更新时间:2023-12-01 05:11:29 25 4
gpt4 key购买 nike

我使用 jQuery 来处理用 VB 编码的 ASP.NET 站点的所有 ajax 需求。当我使用内置的 $.ajax 函数 POST 到代码隐藏函数并且出现异常时,它只是退出该函数,并在客户端显示错误。

除了在编码时使调试变得困难之外,更大的问题是 Global.asax 中的 Application_Error 函数在发生这些异常时不会触发。这使得跟踪生产错误几乎变得不可能。

为什么它不会冒泡到Application_Error?答案是将代码隐藏函数包装在 Catch 语句中吗?

jQuery ajax 函数:

$.ajax({
type: "POST",
url: "page.aspx/GetData",
data: "{'param':'" + param_value + "'}",
contentType: "application/json; charset=utf-8",
dataType: "json",

success: function(msg) {
processData(msg);
},

error: function(XMLHttpRequest, textStatus, errorThrown) {
alert("Error: " + textStatus + " - " + errorThrown);
}
});

VB.NET函数:

<Script.Services.ScriptMethod()> _
<WebMethod()> _
Public Shared Function GetData(ByVal param As Integer) As String
'Parse some data
Return data
End Function

最佳答案

我想出了一个解决办法。尽管我没有找到直接获取错误以触发 Application_Error 事件的方法,但我发现了 jQuery XMLHttpRequest 对象上的一个属性,其中包含实际的异常文本。

下面是一个在警报中显示错误的示例:

error: function(XMLHttpRequest, textStatus, errorThrown) {
alert("Error: " + XMLHttpRequest.responseText);
}

另一个想法是通过 AJAX 将错误提交到将处理所有错误事件逻辑的 Web 方法。

关于asp.net - 使用 jQuery ajax 时如何在 VB.NET 中捕获异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/265403/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com