跟踪特定XMLHTTPRequest的完成情况

时间:2018-05-26 20:50:51

标签: javascript ajax xmlhttprequest

是否可以使用纯JavaScript确定特定XMLHttpRequest何时完成?假设我知道将使用XMLHttpRequest请求的资源的URL,例如:class City extends Model { // protected $fillable = ['name']; } ,我可以使用JavaScript跟踪此请求的完成情况吗?

这是我到目前为止的代码:

http://www.mywebsite.com/test.json

但是,它会跟踪网站上发出的每个HTTP请求,并不是非常有用。我想确定确切的请求并确定它何时完成。怎么可以这样做?

1 个答案:

答案 0 :(得分:0)

你需要“劫持”(实际上覆盖)open()方法而不是构造函数。

XMLHttpRequest.prototype.open = (function(realOpen) {
    return function(method, url) {
        if (url === 'http://www.mywebsite.com/test.json') {
            this.addEventListener('readystatechange', function() {
                // ...do what you have to do
            });
        }
        realOpen.apply(this, arguments);
    };
})(XMLHttpRequest.prototype.open);