Rumah  >  Soal Jawab  >  teks badan

JS - Memintas XMLHttpRequest dan mencetuskan fungsi

Saya hanya mahu mencetuskan fungsi berdasarkan XMLHttpRequest tertentu yang dihantar. Saya tidak perlu menukar atau menambah apa-apa pada permintaan - hanya mencetuskan fungsi lain dalam pangkalan kod saya. Permintaan dihantar oleh tapak web yang membenamkan kod JS saya. Saya tidak mempunyai kawalan ke atas keseluruhan laman web. Saya mempunyai pemintas untuk berfungsi untuk semua panggilan, tetapi saya tidak cukup tahu mengenainya untuk mengecilkannya berdasarkan keperluan berikut.

Required - If the Request URL contains get-users
Required - If the Status Code: 200 
Optional - If the Request Method: GET

Tidak pasti sama ada saya perlu menggunakan send dan 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粉314915922P粉314915922179 hari yang lalu401

membalas semua(1)saya akan balas

  • P粉276876663

    P粉2768766632024-04-04 12:24:48

    Anda perlu menambah syarat if untuk menyemak sama ada URL permintaan mengandungi "get-users" dan kod status ialah 200.

    Seperti kod di bawah:-

    (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);

    balas
    0
  • Batalbalas