Setelah melemparkan untuk waktu yang lama, saya menggunakan metode pemuatan jQuery untuk meminta permintaan dalam program. Ada Baidu, yang tahu beban itu diminta dalam mendapatkan, jadi IE browser
Itu di -cache. Saya mencari banyak solusi dan banyak di internet. Ini terutama dibagi menjadi solusi klien dan solusi server.
1. Solusi Klien
Strategi Akses IE: Internet Option-Menerjemas Catatan Sejarah-Penetapan-Opsi File Sementara Internet
1: Tambahkan fungsi acak setelah halaman yang diminta oleh AJAX, kita dapat menggunakan fungsi waktu acak
Tambahkan t = Math.random () setelah URL dikirim oleh JavaScript
Misalnya: url+"&"+"t ="+math.random (); atau tanggal baru ();
2: Tambahkan xmlhttpRequest.setRequestheader ("if-modify-since", "0")
Dalam keadaan normal, XmlHttpRequest di sini tidak akan digunakan secara langsung
Anda harus dapat menemukan kode ini
Xxxxx.send (yyyyyy);
Kemudian ubah menjadi
Xxxxx.setRequestheader ("if-modify-since", "0");
Xxxxx.send (yyyyyy);
Praktek telah membuktikan bahwa kedua metode ini sangat efektif.
1. Tambahkan header ("Cache-Control: No-Cache, Must-Revalidate") di server
2. Tambahkan xmlhttpRequest.setRequestheader ("If-Modified-Since", "0");
3. Tambahkan xmlhttpRequest.setRequestheader ("cache-control", "no-cache");
4. Tambahkan "? Fresh =" + Math.random () Setelah parameter URL Ajax;
5. Metode keempat mirip dengan yang ketiga.
6. Gunakan post ganti get: tidak disarankan
2. Server -side Solution:
Ambil struts2 sebagai contoh:
Metode Struts2 Server -side
Kode XML
Salin kode kode sebagai berikut:
<nama paket = "json-nocache" extends = "json-default">
<wterceptors>
<Interceptor name = "CachingHeadersInterceptor" />
<Interceptor-Stack Name = "DefaultSecurityStack">
<Interceptor-Ref Name = "DefaultStack" />
<Interceptor-Ref Name = "CachingHeaderSinterCeptor" />
</et Internetor-stack>
</sterceptors>
<Default-interceptor-Ref name = "DefaultSecurityStack" /> />
</packer>
Kode Java
Salin kode kode sebagai berikut:
CachingHeadererCeptor kelas publik memperluas AbstractIntercepor {
Private static final long serialversionuid = 1L;
Intercept string publik
Context ActionContext = Invocation.getInvocontext ();
HttpservletResponse response = (httpservletResponse) context.get (strutsstatics.http_response);
if (response! = null) {
response.setheader ("cache-control", "no-cache");
response.setheader ("pragma", "no-cache");
response.setheader ("kedaluwarsa", "-1");
}
Return Invocation.invoke ();
}
}