1. Maksud asas penyegaran halaman
Dalam proses pembangunan laman web, muat semula halaman biasanya merujuk kepada memuatkan semula halaman berdasarkan halaman semasa. Selepas memuat semula, dapatkan semula data dan kemas kini paparan halaman. Muat semula halaman biasanya dibahagikan kepada dua kategori: muat semula bahagian hadapan dan muat semula bahagian belakang.
Menyegarkan halaman hadapan boleh menggunakan teknologi bahagian hadapan, seperti JavaScript, HTML dan CSS, untuk memuat semula halaman secara manual atau automatik. Melaksanakan muat semula bahagian belakang biasanya memerlukan penulisan skrip bahagian belakang atau menggunakan ajax dan teknologi lain untuk beroperasi di bahagian pelayan.
2. Kaedah pelaksanaan penyegaran bahagian hadapan dalam thinkphp
Agak mudah untuk melaksanakan penyegaran bahagian hadapan dalam thinkphp. Muat semula separa boleh dicapai menggunakan kaedah load() jQuery.
<script type="text/javascript"> $(document).ready(function() { $("#refreshBtn").click(function(){ $("#data").load(location.href+" #data>*",""); }); }); </script>
Id kawasan yang perlu dimuat semula ialah data dan id butang muat semula ialah refreshBtn. Selepas mengklik butang muat semula, kaedah load() jQuery digunakan untuk mendapatkan semula kandungan kawasan data dalam URL semasa dan memaparkannya pada halaman, dengan itu menyegarkan halaman.
3. Kaedah pelaksanaan penyegaran bahagian belakang dalam thinkphp
Untuk melaksanakan penyegaran bahagian belakang dalam thinkphp, anda boleh menggunakan dua kaedah:
1 fungsi header() PHP asli
untuk mengubah hala halaman ke halaman semasa melalui fungsi header() untuk menyegarkan halaman.
header("Location:".$_SERVER['REQUEST_URI']);
Di sini, $_SERVER['REQUEST_URI'] digunakan untuk mendapatkan laluan url permintaan semasa, dengan itu merealisasikan ubah hala halaman dan muat semula halaman.
2. Gunakan fungsi redirect() yang dirangkumkan oleh thinkphp
Fungsi redirect() ialah fungsi lompat halaman yang dikapsulkan oleh thinkphp, yang boleh merealisasikan ubah hala halaman dan pemindahan parameter halaman.
return $this->redirect($_SERVER['REQUEST_URI']);
menggunakan fungsi ubah hala() yang dikapsulkan oleh thinkphp di sini untuk memuat semula halaman. Anda juga boleh lulus parameter params seperti yang diperlukan untuk mengendalikan logik perniagaan tertentu.
4. Masalah dan penyelesaian biasa
Masalah penyerahan pendua berlaku selepas menyegarkan
Muncul Sebab utama masalah ini ialah apabila pengguna menyerahkan borang, penyemak imbas menyimpan data borang dalam cache Apabila pengguna menyegarkan halaman, penyemak imbas secara automatik akan menghantar data borang berulang kali.
Pengesahan token borang boleh dicapai dengan menggunakan Kuki atau Sesi. Untuk kaedah khusus, sila rujuk Serangan dan Pertahanan CSRF.
Halaman muat semula Ajax tidak sah
Punca masalah ini mungkin kerana mekanisme caching ajax menghalang halaman daripada dimuat semula.
Penyelesaian: Tambahkan cache: atribut palsu pada permintaan ajax untuk melumpuhkan cache ajax.
Atas ialah kandungan terperinci Bagaimana untuk menyegarkan halaman dalam thinkphp. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!