我正在为网页制作Chrome扩展程序。在这个网页中,我需要捕获服务器在用户发出POST请求时发送的响应。
目前,我们正在使用Observer模式检查HTML页面上的更改,但这很笨拙并且会多次触发。
我需要捕获该响应,相应地解析其信息,然后基于它通过更改(在某些表中添加一些颜色,添加其他信息等)在页面的HTML上执行一些操作。
我的问题是,我不知道任何允许我收听服务器响应的JavaScript库或纯方法,因此我可以解析它们。
我尝试了JavaScript的EventSource
,但是为了它的工作,我需要在服务器中有特定的代码,这不是一个选项。
另一个研究场所是使用XHMLRequest
自己提出请求,但是我必须在页面上的每个按钮上都有一个监听器,这样我就可以停止默认操作并通过我的代码执行它了。 #39;听起来也不错。
答案 0 :(得分:4)
这样的事情怎么样?
(function(open) {
XMLHttpRequest.prototype.open = function(m, u, a, us, p) {
this.addEventListener('readystatechange', function() {
console.log(this.response);
}, false);
open.call(this, m, u, a, us, p);
};
})(XMLHttpRequest.prototype.open)
您可以覆盖打开的功能,然后根据需要进行响应。