Ajax içeriği bir sayfa önbelleğini zorlamak

1 Cevap php

Ben sonuçları ajax yüklenen bir arama olduğu bir sayfa var. Daha sonra bir sayfada ürünleri listeler ve her ürün görmek için tıklayabilirsiniz. Bunu yerine tekrar aramak için kullanıcıyı zorlama önbelleği yüklemek edeceğiz "geri" tarayıcınızda tıklarsanız ben bir ürün görmek sonra bu sayfayı değiştirmek istiyorum.

Note: I'm not looking for an ajax cache, but a simple browser cache header

Bunu nasıl başarabiliriz?

Şu anda var ....

header('Cache-Control: private, max-age:3600');
header('Expires: '.gmdate('D, d M Y H:i:s \G\M\T', time() + 3600));

ve önbelleği yüklemez

1 Cevap

Aksine tarayıcınızın "Geri" düğmesini yakalama veya JavaScript (hiç iyi bir fikir) güvenmek yerine, ben sonuçları kaydetmek için oturum kullanarak öneririm. What I genellikle arama sonuçları için yapmak (bir ayrıntı sayfası görüntüledikten sonra dönersek, anlatılan gibi durumlar için) hızlı yeniden yükleme için oturuma biçimlendirilmiş sonuçlarını kaydedebilir ve yok ki onlar yeni bir arama yapmak istediğiniz zaman değiştirin Oturum verilerin büyük miktarlarda kadar kazık.

Eğer sayfa yük, herhangi bir POST verileri için kontrol edin (veya GET, ancak bunu yapıyoruz) ve daha sonra yeni bir arama verileri kullanılarak yapıldığını görmek için oturumu kontrol edin. Bu işleri hızlandırmak ve veritabanı kapalı bazı trafik alacaktır.