Javascript 截取所有ajax结果并获取响应代码

Javascript 截取所有ajax结果并获取响应代码,javascript,jquery,ajax,Javascript,Jquery,Ajax,是否可以发送ajax请求,截取或查看HTML响应代码,然后执行操作?我有一个系统,它使用纯JS和XMLHttpRequest来查看诸如中止、错误、和超时,但是跟踪404和409等更有用 这是我当前的代码,对于这种方法来说非常流行 (function(open) { XMLHttpRequest.prototype.open = function(method, url, async, user, pass) { this.addEventL

是否可以发送ajax请求,截取或查看HTML响应代码,然后执行操作?我有一个系统,它使用纯JS和XMLHttpRequest来查看诸如
中止
错误
、和
超时
,但是跟踪404和409等更有用

这是我当前的代码,对于这种方法来说非常流行

(function(open) {
            XMLHttpRequest.prototype.open = function(method, url, async, user, pass) {
                this.addEventListener("abort", function() {
                    self.trigger('abort');
                }, false);
                this.addEventListener("error", function() {
                    self.trigger('error');
                }, false);
                this.addEventListener("timeout", function() {
                    self.trigger('timeout');
                }, false);
                this.addEventListener("load", function() {
                    self.trigger('load');
                }, false);
                open.call(this, method, url, async, user, pass);
            };
        })(XMLHttpRequest.prototype.open);
但我希望打开HTTP响应代码。我还与jQuery绑定在一起,因此我可以使用jQuery设置选项提供的任何选项,但到目前为止,我还没有找到获取响应代码的方法


请注意,我正在寻找一个全球性的解决方案。我不能为每个ajax请求添加100个单独的函数调用。

状态属性可以很容易地在
中找到

(function(open) {
   XMLHttpRequest.prototype.open = function(method, url, async, user, pass) {
   switch(this.status){
      // case 404: etc
   }
            open.call(this, method, url, async, user, pass);
        };
    })(XMLHttpRequest.prototype.open);

应该帮助为什么你不能得到HTML响应代码?没有意识到在
this.status
中很容易找到。注意:你不应该写
open.call(this,method,url,async,user,pass)但是
返回open。应用(这个,参数)
。一方面,您应该始终返回包装函数的结果,当前它不返回任何内容,但将来可能会返回,另一方面,您应该使用
apply
arguments
,以便包装器不依赖于参数的更改。