pertanyaan
Baru -baru ini, saya menggunakan easyui untuk mengembangkan sistem latar belakang. Saya menemukan masalah aneh selama pengujian. $ ('dg'). Datagrid ('Reload'); Saat memuat kembali data tabel, saya tidak memiliki reaksi sama sekali. Kemudian saya mengetahui bahwa bukan karena tidak ada respons, tetapi browser menggunakan cache.
Larutan
Ada beberapa solusi yang dirangkum oleh netizens online:
1. Tambahkan cap waktu setelah URL, sehingga URL yang diakses dalam beban pertama dan dimuat ulang tidak konsisten, membuat sistem tidak dapat menggunakan cache IE. Melalui pengujian, ditemukan bahwa permintaan easyui sudah memiliki string angka acak _145232xxx setelah diminta, tetapi IE masih menggunakan cache. Kemudian, saya menambahkan rand = xxx (nomor acak yang dihasilkan oleh math.rand ()) ke JS yang diminta dan tidak akan menggunakan cache. (Saya menguji dari IE8 ke IE11)
2. Gunakan cara yang sama untuk menambahkan <meta> ke <head> untuk menghapus cache:
Salinan kode adalah sebagai berikut:
<Meta http-equiv = "pragma" konten = "no-cache">
<Meta http-equiv = "cache-control" content = "no-cache, harus-revalidasi">
<Meta http-equiv = "kedaluwarsa" konten = "Rabu, 26 Feb 1997 08:21:57 GMT">
Sayangnya, seperti banyak netizen, saya gagal metode ini. :(
3. Deklarasikan metode yang sesuai dengan beban datagrid sebagai 'pos', solusi ini adalah yang tercepat. Tapi ada beberapa masalah:
• Jika antarmuka server tidak mendukung mode pos, itu akan dihentikan.
• Jika antarmuka server dapat mengontrolnya sendiri, cara kompromi untuk front-end ini akan menyebabkan antarmuka tidak tenang sama sekali! Anda harus tahu bahwa antarmuka yang tenang pada dasarnya dapatkan untuk desain kueri.
Meringkaskan
Jadi ini adalah metode pertama. Menambahkan nomor acak sendiri di URL mudah digunakan. Maafkan saya karena terobsesi dengan kode yang saya tidak ingin mengubah antarmuka server _ (: з」∠) _.