我一直在修改对象。是否可以修改 XMLHttpRequest 并且可以将其实现到我的代码中?我搜索了很多,但找不到答案或教程。
代码:
(function() {
var origOpen = XMLHttpRequest.prototype.open;
XMLHttpRequest.prototype.open = function(data, url, async) {
data = data.toLowerCase();
if(data === 'post' || data === 'get'){
this.addEventListener('load', function() {
url = url.toString();
if(String(url)){
var newUrl = url.split('index.php?id=').pop();
newUrl = newUrl.split('&');
if(isNumber(newUrl[0]) && newUrl[0] !== '115' && newUrl[0] !== '9' && newUrl[0] !== '152' && newUrl[0] !== '143' && newUrl[0] !== '2' && newUrl[0] !== '96'){
var checked = AccessDenied(newUrl[0]);
if(checked === false){
//Here comes code to modify data
}
}
}
});
};
origOpen.apply(this, arguments);
};
})();
最佳答案
您所做的方法确实与内置打开方法发生冲突!因此,在这种情况下,内置的胜利作为默认方法。您应该命名为 open2
或 Open
或 _open
或您喜欢的名称,以避免冲突。但请记住,您不能使用 XMLHttpRequest
中已有的任何方法!这是一个示例。
XMLHttpRequest.prototype._open = function(data, url, async) { //...code };
关于javascript - 修改XMLHttpRequest数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35409692/