如何测试全局AJAX错误处理



我用这种方式设置了一个全局AJAX错误处理函数,但我不知道如何测试它?无论如何在jsFiddle 中

  $(function () {
      var statusErrorMap = {
        '400' : "Server understood the request, but request content was invalid.",
        '401' : "Unauthorized access.",
        '403' : "Forbidden resource can't be accessed.",
        '500' : "Internal server error.",
        '503' : "Service unavailable."
      };
      //setup ajax error handling
      $.ajaxSetup({
          error: function (x, status, error) {
              if  (x.status in statusErrorMap) {
                if (x.status == "503") {
                    alert("Sorry, your session has expired. Please login again to continue");
                    window.location.href ="/users/sign_in";
                } else {
                  alert("("+ x.status +") error occurred: " + statusErrorMap[x.status.toString()]);
                }
              }
              else {
                alert("An error occurred: " + status + "nError: " + error);
              }              
          }
      });
  });

您必须使用fiddler(代理工具)来拦截服务器请求并测试错误处理代码。为此,您必须在fiddler中为您的服务调用设置一个断点,并按照以下过程进行操作。

  1. 规则>自动断点>响应后
  2. 在quickexec框(底部的黑框)中,键入"bpafter-yourpage.svc"。现在,Fiddler将在所有对包含"yourpage.svc"的URL的请求之前停止在断点处。键入不带参数的"bpafter"以清除断点
  3. 使用FiddlerScript以编程方式篡改响应。FiddlerScript的最佳文档在官方网站上:http://www.fiddler2.com/Fiddler/dev/

您可以在下面的stackoverflow中获得更多详细信息。

如何使用Fiddler修改HTTP响应中的状态代码?

最新更新