Mencegah Cache Penyemak Imbas Hasil Panggilan AJAX
Caching hasil panggilan AJAX boleh menimbulkan cabaran apabila bekerja dengan kandungan dinamik. Untuk mengatasinya, kami meneroka kaedah alternatif untuk menghalang penyemak imbas daripada caching.
Menggunakan Pilihan Cache jQuery
jQuery menyediakan penyelesaian yang mudah untuk melumpuhkan caching untuk semua permintaan AJAX yang akan datang . Dengan menggunakan fungsi $.ajaxSetup, anda boleh menentukan pilihan cache kepada false, menghalang sebarang panggilan AJAX berikutnya daripada dicache:
$.ajaxSetup({ cache: false });
Alternatif kepada Random QueryString Strings
Walaupun menambahkan rentetan unik pada QueryString boleh menghalang caching, ia mungkin bukan pendekatan yang paling diingini. Sebaliknya, kaedah cap masa jQuery boleh menghasilkan cap masa yang unik untuk ditambahkan pada URL permintaan, memastikan bahawa hasilnya tidak dicache:
$.ajax({ url: 'some.php', method: 'GET', data: { timestamp: $.now() } });
Mencipta Pengepala Tersuai
Satu lagi pilihan adalah untuk menetapkan pengepala tersuai untuk permintaan untuk mengelakkan caching. Sebagai contoh, menggunakan pengepala berikut akan mengarahkan penyemak imbas untuk tidak cache respons:
cache-control: no-cache, no-store pragma: no-cache
Kod Status HTTP
Kod status HTTP khusus juga boleh digunakan untuk menunjukkan bahawa sumber tidak boleh dicache. Menetapkan pengepala Kawalan Cache kepada max-age=0 atau no-store akan menghalang caching.
Cross-Origin Resource Sharing (CORS)
Apabila permintaan AJAX dibuat dibuat merentas domain, CORS boleh mengganggu tingkah laku caching. Jika anda mengalami isu caching dalam permintaan silang asal, pertimbangkan untuk menggunakan pengepala Kawalan Cache yang dinyatakan di atas atau meneroka tetapan berkaitan CORS untuk pelayan anda.
Atas ialah kandungan terperinci Bagaimana untuk Mencegah Caching Penyemak Imbas Keputusan Panggilan AJAX?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!