Jquery Ajax函数和ASP.net Web服务错误捕获

时间:2009-12-11 18:46:44

标签: jquery asmx

我使用$ .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>');

             }

         });

    }

1 个答案:

答案 0 :(得分:1)

我相信只要服务器以状态“200”以外的其他方式响应,就会调用错误回调函数。因此,如果服务器上抛出异常或网络问题,则回调将运行。

如果要通过错误回调输出内容,则必须将服务器响应设置为“200”以外的其他内容。

根据您尝试做的事情,您可能需要小心这一点,因为您模糊了真正的服务器/网络错误与部分业务逻辑之间的界限。

希望它有所帮助!

编辑:查看“选项”标签下的文档here以获取更多信息。