0
У меня есть некоторые Ajax-код на стороне клиента, как это:Ajax вызова не возвращает ошибка
$.ajax({
type: "POST",
url: "frmPNList.aspx/ChangeGroupOfUSNs",
async: false,
contentType: "application/json; charset=utf-8",
//data: '{strNewUSN: "' + usn.value + '", strURNs: "' + id[1] + '", strDatasetName: "' + id[2] + '", strCon: "' + $("#<%=fieldGenieConnectionString.ClientID%>")[0].value + '"}',
data: '{strNewUSN: "' + usn.value + '", arrayURNDataset: ' + JSON.stringify(strURNDataset) + ', strCon: "' + connectionstring.value + '", strUserNameLocal: "' + username.value + '"}',
//data: '{strNewUSN: 9, strURNs: 1, strDatasetName: 2}',
dataType: "json",
success: OnSuccess(),
error: function (xhr, errorType, exception) {
var errorMessage = exception || xhr.statusText; //If exception null, then default to xhr.statusText
alert("there was an error changing the USN of the group: " + errorMessage);
},
failure: function() {
alert('there was an error changing the USN of the group.')
}
});
function OnSuccess() {
return function() {
}
}
//end of AJAX call
и на стороне сервера:
<System.Web.Services.WebMethod()> _
Public Shared Sub ChangeGroupOfUSNs(ByVal strNewUSN As String, ByVal arrayURNDataset As String, ByVal strCon As String, ByVal strUserNameLocal As String)
Try
Throw New Exception
Catch ex As Exception
End Try
End Sub
Сообщение отказа не называются. Почему это?
Вы попадаете в исключение, поэтому его убивают и не распространяют; сервер не распознает ошибку, поэтому возвращает 200 вместо кода ошибки 500. –
Я не слишком разбираюсь в веб-методах vb, но не должен ли вы бросать/возвращать исключение в интерфейс или что-то в этом роде? или, может быть, просто верните http: 500? просмотр кода выглядит так, что ваш запрос никогда ничего не отвечает, когда он входит в блок catch. – wdoering