Javascript: remplacer XMLHttpRequest.open ()
Comment pourrais-je être en mesure de remplacer la XMLHttpRequest.open()
méthode, puis l'attraper et de le modifier arguments?
J'ai déjà essayé la méthode de remplacement, mais il ne fonctionne pas, bien que la suppression de la sur-débarrasser quand XMLHttpRequest()
a été appelé:
(function() {
var proxied = window.XMLHttpRequest.open;
window.XMLHttpRequest.open = function() {
$('.log').html(arguments[0]);
return proxied.apply(this, arguments);
};
})();
source d'informationauteur Trevor | 2011-10-15
Vous devez vous connecter pour publier un commentaire.
Vous n'êtes pas la modification de la
open
méthode héritée parXMLHttpRequest objects
mais simplement l'ajout d'une méthode à l'XMLHttpRequest constructor
qui est en fait jamais utilisé.J'ai essayé ce code dans facebook et j'ai pu attraper la demande:
Donc oui la méthode ouverte doit être ajouté à
XMLHttpRequest prototype
(fenêtre.XMLHttpRequest.prototype) pasXMLHttpRequest constructor
(fenêtre.XMLHttpRequest)Je donnerais le xmlhttprequest projet à google code un coup d'oeil. C'est un assez bon exemple de correctement substitution de l'objet XMLHttpRequest. La source peut être vu ici.
Utiliser XMLHttpRequest.le prototype.s'ouvre à la place.