Я использую jQuery для обработки всех моих потребностей ajax для сайта ASP.NET, закодированного в VB. Когда я использую встроенную функцию $ .ajax для POST для функции code-behind и возникает исключение, она просто выходит из функции и показывает ошибку на стороне клиента.
Помимо затруднения отладки при кодировании, большая проблема заключается в том, что функция Application_Error в Global.asax не запускается при возникновении этих исключений. Это делает практически невозможным отслеживание производственных ошибок.
Почему бы не всплыть в Application_Error? Является ли ответ обернуть функцию code-behind в операторе 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