Rumah > pembangunan bahagian belakang > tutorial php > Bagaimanakah Post/Redirect/Get (PRG) Boleh Menghalang Penyerahan Semula Borang yang Tidak Diingini pada Muat Semula Halaman?

Bagaimanakah Post/Redirect/Get (PRG) Boleh Menghalang Penyerahan Semula Borang yang Tidak Diingini pada Muat Semula Halaman?

Patricia Arquette
Lepaskan: 2024-12-27 09:22:10
asal
440 orang telah melayarinya

How Can Post/Redirect/Get (PRG) Prevent Unwanted Form Resubmissions on Page Refresh?

Mencegah Penyerahan Semula Borang pada Muat Semula Halaman dengan Post/Redirect/Get

Dalam situasi ini, apabila menyegarkan halaman membawa kepada penyerahan semula borang yang tidak diingini, corak Post/Redirect/Get (PRG) menawarkan penyelesaian yang berkesan. Mari kita mendalami pelaksanaannya.

Selepas borang diserahkan, pelayan melaksanakan langkah berikut:

  1. Siaran: Penyemak imbas menghantar data borang ke pelayan.
  2. Ubah hala: Pelayan memproses data dan mengeluarkan ubah hala kepada yang lain halaman.
  3. Dapatkan: Penyemak imbas mengambil halaman baharu, dengan berkesan mengosongkan data borang.

Dengan mengubah hala pengguna selepas penyerahan borang, GET tersirat penyemak imbas permintaan pada muat semula halaman tidak mengandungi sebarang data borang, menghalang penyerahan semula.

Walau bagaimanapun, ia penting untuk mengelak daripada menggunakan butang Kembali kerana ia boleh mengisi semula borang dengan data yang telah diserahkan sebelum ini. Untuk pengalaman pengguna yang lancar, pastikan halaman baharu memberikan petunjuk jelas bahawa data telah berjaya diserahkan.

Pendekatan Javascript menggunakan window.history.replaceState

Sebagaimana disebutkan dalam jawapan, pendekatan alternatif melibatkan penggunaan window.history.replaceState JavaScript kaedah:

if (window.history.replaceState) {
    window.history.replaceState(null, null, window.location.href);
}
Salin selepas log masuk

Skrip ini mengubah sejarah penyemak imbas, menggantikan entri semasa dengan yang baharu tanpa mencetuskan muat semula halaman. Walau bagaimanapun, adalah penting untuk ambil perhatian bahawa pendekatan ini mungkin tidak boleh dipercayai seperti corak PRG.

Akhirnya, corak PRG kekal sebagai penyelesaian yang mantap untuk menghalang penyerahan semula borang pada muat semula halaman, sambil mengekalkan URL asal borang dan menyediakan pengalaman yang mesra pengguna.

Atas ialah kandungan terperinci Bagaimanakah Post/Redirect/Get (PRG) Boleh Menghalang Penyerahan Semula Borang yang Tidak Diingini pada Muat Semula Halaman?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan