我使用$ .ajax函数与常规的asp.net Web服务进行交互。我的问题是如何捕获错误。 Web服务与数据库交互并在遇到任何错误时返回错误,但在此之后,我很清楚如何捕获这些错误(以及在$ .ajax性能期间遇到的其他错误)。
$ .ajax有一个参数msg的回调失败。我是否必须在Web服务端执行某些操作以使用数据库中的错误填充该msg变量?
有人可以概述我需要在我的代码中采取的步骤,以便使用Jquery + ASP.net Web服务进行强大的通信吗?
谢谢!
var list = [["john.doe", "corp"],["1","2","3","7"],["4","5","6"],["34","88","898"]];
var jsonText = JSON.stringify({ list: list });
$.ajax({
type: "POST",
url: "http://localhost/TemplateWebService/TemplateWebService/Service.asmx/SaveSampleTemplate",
data: jsonText,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(response) {
alert("success!");
alert(response.d);
},
failure: function(msg) {
alert("fail");
$('#pnlOutput').append('<p><font color="red">Message error ' + msg + ' </font></p>');
}
});
}
答案 0 :(得分:1)
我相信只要服务器以状态“200”以外的其他方式响应,就会调用错误回调函数。因此,如果服务器上抛出异常或网络问题,则回调将运行。
如果要通过错误回调输出内容,则必须将服务器响应设置为“200”以外的其他内容。
根据您尝试做的事情,您可能需要小心这一点,因为您模糊了真正的服务器/网络错误与部分业务逻辑之间的界限。
希望它有所帮助!
编辑:查看“选项”标签下的文档here以获取更多信息。