Maison > Questions et réponses > le corps du texte
Je veux juste déclencher une fonction basée sur l'envoi d'un certain XMLHttpRequest. Je n'ai pas besoin de modifier ou d'ajouter quoi que ce soit à la demande - il suffit de déclencher une autre fonction dans ma base de code. La requête est envoyée par le site internet qui embarque mon code JS. Je n'ai aucun contrôle sur l'ensemble du site Web. J'ai l'intercepteur qui fonctionne pour tous les appels, mais je n'en sais pas suffisamment pour le affiner en fonction des exigences suivantes.
Required - If the Request URL contains get-users Required - If the Status Code: 200 Optional - If the Request Method: GET
Je ne sais pas si je dois utiliser send et send.call.
(function (send) { XMLHttpRequest.prototype.send = function (data) { console.log('Request', this); // If call url contains "get-users" && status code = 200 && possibly if the request method = get // { // MyFunction() // } send.call(this, data); }; })(XMLHttpRequest.prototype.send);
P粉2768766632024-04-04 12:24:48
Vous devez ajouter une condition if pour vérifier si l'URL de la demande contient "get-users" et que le code d'état est 200.
Aimez le code ci-dessous :-
(function (send) { XMLHttpRequest.prototype.send = function (data) { console.log('Request', this); this.onreadystatechange = function () { if (this.readyState === 4 && this.status === 200 && this.responseURL.includes('get-users')) { MyFunction(); } }; send.call(this, data); }; })(XMLHttpRequest.prototype.send);