Reputation: 598
I'm stuck on modifying the object. Is it possible to modify XMLHttpRequest and is it possible to implement it into my code? I have searched a lot and can't find the answer or an tuturial.
code:
(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);
};
})();
Upvotes: 1
Views: 232
Reputation:
This, approach you made does make conflicts with the in-bulit open method! So in this case the in-built wins sits as the default method. You should name to open2
or Open
or _open
or as you like to aviod conflicts. But remember you can't use any method that's already in XMLHttpRequest
! Here's an example of it.
XMLHttpRequest.prototype._open = function(data, url, async) { //...code };
Upvotes: 1