Ben bir yazı için bir yorum formu var ve ben yeniden gönderilmesini engellemek için olur. Bizim metotları çok benzer olsa da, ben Worpdress (geri gidiş form yeniden gönderme istemek için tarayıcı neden olmaz) çok iyi bu işler fark, ama onlar bunu anlamaya olamaz.
My Script
Kullanıcı ziyaret mydomain.com/article/1/article_title.html
Mesaj mydomain.com/addnewcomment/1.html için bir form doldurur
Ben daha sonra bir 302 mydomain.com/article/1/article_title.html geri yönlendirmek
Ben bu pozisyonda geri tuşuna Şimdi eğer bir yönlendirme talep etmez. Ancak, ben başka bir sayfaya giderseniz mesela mydomain.com/tag/1/my_tag.html ve basın geri formu yeniden yapar.
Açıkçası ben bunu önlemek istiyorum.
What Wordpress does
User visits mydomain.com/?p=1 Fills in a form which posts to mydomain.com/wp-comments-post.php This then does a 302 redirect back to mydomain.com/?p=1
Geri basmak veya başka bir sayfasını ziyaret ve geri tuşuna basarak bir yeniden gönderme neden olmaz.
Ben WP kodu aracılığıyla göz yaşadım ama bu nasıl yönettikleri göremiyorum. Açıkçası ben başarmak istiyorum şey.
Herkes yanlış gidiyor olabilir nereye üzerinde herhangi bir düşünce var mı?
(Ben sadece mümkün olduğunu kanıtlamak için bir örnek olarak Wordpress kullanıyorum, açıkçası ben tam WP çoğaltmak için çalışıyorum değilim, bu anlamsız olurdu)
EDIT - Figured out what it was
Acaba bu hangi başlık tam çivilenmiş değil, ama (gerçekten ben ilk yönlendirme denilen gerekirken, yönlendirme önce bir işlev çağırarak, benim koduyla sorun) yönlendirme yapmadan önce ek başlıkları gönderiyordu.
Ben fonksiyonu taşındı ve yönlendirme önce bu başlıkları gönderme durdu sonra geri gittikten sonra Resubmissions olmadan, iyi çalıştı.
Tabii ki de çiftleri kontrol etmek önemlidir, ama bu hiç ne istediğini bir formu yeniden isteği ile haşhaş tarayıcı durur.
Ben gönderiyordu başlıklar:
Content-Type Last-Modified Etag Content-language Cache-Control Pragma Expires
Ben muhtemelen pragma ile no-cache şey oldu veya önbellek kontrol başlığındaki-revalidate gerekir tahmin ediyorum.
Her iki durumda da aynı sorunu yaşıyorsanız, size yönlendirmenin önce yolluyoruz ne diğer başlıkları kontrol edin.