Skip to content

Instantly share code, notes, and snippets.

@icodejs
Created July 26, 2012 16:47
Show Gist options
  • Star 37 You must be signed in to star a gist
  • Fork 15 You must be signed in to fork a gist
  • Save icodejs/3183154 to your computer and use it in GitHub Desktop.
Save icodejs/3183154 to your computer and use it in GitHub Desktop.
JS: Listen to ajax calls from Javascript
var open = window.XMLHttpRequest.prototype.open,
send = window.XMLHttpRequest.prototype.send,
onReadyStateChange;
function openReplacement(method, url, async, user, password) {
var syncMode = async !== false ? 'async' : 'sync';
console.warn(
'Preparing ' +
syncMode +
' HTTP request : ' +
method +
' ' +
url
);
return open.apply(this, arguments);
}
function sendReplacement(data) {
console.warn('Sending HTTP request data : ', data);
if(this.onreadystatechange) {
this._onreadystatechange = this.onreadystatechange;
}
this.onreadystatechange = onReadyStateChangeReplacement;
return send.apply(this, arguments);
}
function onReadyStateChangeReplacement() {
console.warn('HTTP request ready state changed : ' + this.readyState);
if(this._onreadystatechange) {
return this._onreadystatechange.apply(this, arguments);
}
}
window.XMLHttpRequest.prototype.open = openReplacement;
window.XMLHttpRequest.prototype.send = sendReplacement;
@rokobuljan
Copy link

@rolfen
Copy link

rolfen commented Oct 10, 2017

Thank you!

@MarkoNikolov-zz
Copy link

Awesome work! Thanks.

@ohasy
Copy link

ohasy commented Jan 21, 2021

Thanks

@foo123
Copy link

foo123 commented Mar 4, 2023

More generic approach https://stackoverflow.com/a/72555729

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment