Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Bertahan Pembolehubah Merentasi Muatan Halaman dalam Persekitaran HTTP Tanpa Kewarganegaraan?

Bagaimanakah Saya Boleh Bertahan Pembolehubah Merentasi Muatan Halaman dalam Persekitaran HTTP Tanpa Kewarganegaraan?

Barbara Streisand
Barbara Streisandasal
2024-12-24 09:39:13395semak imbas

How Can I Persist Variables Across Page Loads in a Stateless HTTP Environment?

Pembolehubah Berterusan Antara Pemuatan Halaman

HTTP tidak bernegara, mengekalkan nilai merentas muat semula halaman memerlukan storan luaran. Begini cara untuk mengatasi had ini:

Rentetan Pertanyaan

Pada penyerahan borang melalui GET, rentetan pertanyaan (?parameter=value) membawa data medan borang. Tetapkan nilai medan tersembunyi dengan sewajarnya:

<form method="GET">
    <input type="hidden" name="clicked" value="true" />
    <input type="submit" />
</form>

Pada pemuatan halaman, ekstrak parameter pertanyaan:

function getParameterByName(name) {
    var regex = new RegExp("[\?&amp;]" + name + "=([^&amp;#]*)"),
        results = regex.exec(location.search);
    return results === null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
}

var clicked = getParameterByName('clicked');

Storan Web

HTML5 menyediakan Storan Web, membenarkan penyimpanan data berasaskan pelayar. SessionStorage menyimpan data hanya semasa sesi penyemakan imbas semasa:

sessionStorage.setItem('clicked', 'true');

Pada pemuatan halaman, dapatkan semula nilai yang disimpan:

var clicked = sessionStorage.getItem('clicked');

Kuki

Kuki digunakan terutamanya untuk storan data sebelah pelayan tetapi juga boleh dimanfaatkan untuk storan sebelah pelanggan. jQuery memudahkan pengurusan kuki:

$.cookie('clicked', 'true', {expires: 1}); // expires in 1 day

Untuk membaca kuki pada pemuatan halaman:

var clicked = $.cookie('clicked');

Ingat untuk menyahset kuki apabila tidak diperlukan lagi:

$.cookie('clicked', null);

Window.name

Walaupun tidak disyorkan, window.name boleh simpan rentetan merentas penyegaran halaman dan juga domain:

window.name = "my value";

Pada pemuatan halaman, akses nilai yang disimpan:

var value = window.name;

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Bertahan Pembolehubah Merentasi Muatan Halaman dalam Persekitaran HTTP Tanpa Kewarganegaraan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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