我对asp.net webforms有一个奇怪的问题,我解决了它,但我不喜欢我解决它的方式,所以我正在寻找其他选择。
我在webservice(.asmx)中有一个方法,并且我使用jquery ajax($ .ajax)调用它,当我不使用断点时它可以正常工作,但如果我使用断点即使我没有停止调试方法,回调也会返回错误。
让我试着更好地解释一下:
场景1 - 我执行方法而不进行调试。 (async:true) 场景1结果=它工作正常。
场景2 - 我执行方法debbuging。 (async:true) 场景2结果=在我完成调试方法之前,它会回到JQUERY,错误状态只是“错误”。没有关于它的重要信息。
场景3 - 我在没有调试的情况下执行该方法。 (async:false) 场景3结果=它工作正常。
场景4 - 我在没有调试的情况下执行该方法。 (async:false) 场景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
结束功能
答案 0 :(得分:0)
我能够找到发生的事情,问题是如果你有asyn:true,而你正在通过一个事件发出一个ajax请求,你需要先做一个“e.preventDefault()”做请求,或者它会一遍又一遍地做。