【发布时间】:2014-10-21 13:31:52
【问题描述】:
我有一个关于 asp.net webforms 的奇怪问题,我解决了,但我不喜欢我解决它的方式,所以我正在寻找其他选项。
我在 webservice(.asmx) 中有一个方法,我使用 jquery ajax ($.ajax) 调用它,当我不使用断点时它工作正常,但如果我使用断点回调将返回即使我没有停止调试方法也会出错。
让我试着更好地解释一下:
场景 1 - 我在没有调试的情况下执行该方法。 (异步:真) 场景 1 结果 = 效果很好。
场景 2 - 我执行方法调试。 (异步:真) 场景 2 结果 = 在我完成对方法的调试之前,它返回到 JQUERY,并且错误状态只是“错误”,没有关于它的重要信息。
场景 3 - 我在没有调试的情况下执行该方法。 (异步:假) 场景 3 结果 = 效果很好。
场景 4 - 我在没有调试的情况下执行该方法。 (异步:假) 场景 4 结果 = 效果很好。
客户端:
$.ajax({
type: "POST",
url: "WBSJsonRequests.asmx/InsertInterConsulta",
data: JSON.stringify(parameters),
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (JsonResponseData) {
if (JsonResponseData.d === "success") {
alert("Se han agregado la esta especialidad correctamente!");
}
else {
alert("Se ha producido un error en el servidor: " + JsonResponseData.d);
}
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
console.log(textStatus);
alert(textStatus);
}
});
服务器端:
<WebMethod(Description:="Inserta Interconsulta")>
<ScriptMethod(ResponseFormat:=ResponseFormat.Json)>
Public Function InsertInterConsulta(InterConsultaList As InterConsulta, IdCita As Integer) As String
Dim Searializer As New JavaScriptSerializer()
Try
InterConsultaList.IdCita = IdCita
Meds.InterConsulta.GuardarInterConsulta(InterConsultaList.IdEspecialidad, InterConsultaList.IdCita)
Return "success"
Catch ex As Exception
Return ex.Message
End Try
End Function
结束函数
【问题讨论】:
-
必须有一些信息。究竟是什么引发了错误?从服务器返回到 AJAX 调用的实际响应(响应代码、内容、适用的标头等)是什么?
-
我说“错误状态只是'错误',没有关于它的重要信息。”,errorThrown 变量是空白的,textStatus 只是说“错误”,xmlhttprequest 是空白的。响应状态为 200 ok
-
为什么我的得分不好??????,我没有做错什么...
标签: jquery asp.net ajax web-services asp.net-ajax