Bagaimana Anda Boleh Memintas Semua Permintaan AJAX pada Halaman Web?

Susan Sarandon
Lepaskan: 2024-10-26 14:21:02
asal
712 orang telah melayarinya

How Can You Intercept All AJAX Requests on a Web Page?

Menyangkut Semua Permintaan AJAX pada Halaman

Mengubah suai permintaan AJAX untuk melakukan tindakan tambahan boleh menjadi penting untuk penyahpepijatan, analitik atau tujuan lain . Walau bagaimanapun, dengan berbilang skrip pihak ketiga menggunakan perpustakaan AJAX yang berbeza pada halaman, nampaknya mencabar untuk memintas kesemuanya.

Memintas Permintaan AJAX

Untuk memantau setiap AJAX permintaan, anda boleh menggunakan objek XMLHttpRequest. Berikut ialah penyelesaian teguh yang berfungsi walaupun dengan berbilang perpustakaan:

(function() {
    var origOpen = XMLHttpRequest.prototype.open;
    XMLHttpRequest.prototype.open = function() {
        console.log('request started!');
        this.addEventListener('load', function() {
            console.log('request completed!');
            console.log(this.readyState); //will always be 4 (ajax is completed successfully)
            console.log(this.responseText); //whatever the response was
        });
        origOpen.apply(this, arguments);
    };
})();
Salin selepas log masuk

Kod ini mengatasi kaedah terbuka XMLHttpRequest untuk mendaftarkan pendengar acara bagi acara pemuatan. Apabila permintaan dimulakan, ia mencatat masa mula. Apabila permintaan selesai, ia merekodkan masa tamat, keadaan sedia dan teks respons.

Nota: Perlu diingat bahawa kaedah ini tidak berfungsi untuk permintaan pengambilan asli. Walau bagaimanapun, anda boleh menggunakan pendekatan proksi yang serupa untuk diambil jika perlu.

Atas ialah kandungan terperinci Bagaimana Anda Boleh Memintas Semua Permintaan AJAX pada Halaman Web?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!