Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk memberikan nilai javascript kepada PHP

Bagaimana untuk memberikan nilai javascript kepada PHP

王林
王林asal
2023-05-16 11:39:371653semak imbas

Dengan perkembangan teknologi bahagian hadapan, JavaScript digunakan dengan lebih meluas. Dalam aplikasi web, selalunya perlu untuk menghantar beberapa nilai dari halaman hadapan ke PHP bahagian belakang untuk pemprosesan, yang melibatkan masalah pemindahan antara nilai JavaScript dan PHP. Artikel ini akan memperkenalkan beberapa kaedah untuk memberikan nilai JavaScript kepada PHP.

1. Gunakan penyerahan borang

Cara paling biasa untuk menghantar nilai JavaScript kepada PHP adalah melalui penyerahan borang. Dalam JavaScript, kita boleh mendapatkan nilai elemen borang melalui operasi DOM, kemudian memberikan nilai ini kepada elemen input tersembunyi, dan akhirnya menyerahkan borang kepada PHP bahagian belakang untuk diproses. Kod sampel adalah seperti berikut:

<form action="handle.php" method="post">
  <input type="hidden" name="username" id="username">
  <input type="hidden" name="age" id="age">
  <button type="submit" onclick="submitForm()">提交</button>
</form>

<script>
  function submitForm() {
    var username = document.getElementById("username").value;
    var age = document.getElementById("age").value;
    document.getElementById("username").value = username;
    document.getElementById("age").value = age;
  }
</script>

Dalam contoh ini, kami mentakrifkan borang yang mengandungi dua elemen input tersembunyi Nilai kedua-dua elemen ini ialah nama pengguna dan nilai umur yang diperoleh dalam JavaScript. Apabila butang hantar diklik, fungsi submitForm() dipanggil, nilai yang diperolehi diberikan kepada dua elemen tersembunyi, dan kemudian borang diserahkan kepada PHP back-end untuk diproses.

Apabila memproses nilai yang diluluskan oleh borang, anda boleh menggunakan tatasusunan $_POST dalam PHP untuk mendapatkan nilai ini. Kod sampel adalah seperti berikut:

$username = $_POST['username'];
$age = $_POST['age'];

2. Gunakan teknologi AJAX

Selain menghantar nilai JavaScript melalui penyerahan borang, kaedah biasa lain ialah menggunakan teknologi AJAX. AJAX boleh menghantar permintaan untuk backend PHP tanpa menyegarkan halaman, dengan itu menghantar nilai JavaScript kepada PHP untuk diproses. Kod sampel adalah seperti berikut:

<script>
  var username = '张三';
  var age = 18;

  var xhr = new XMLHttpRequest();
  xhr.open('POST', 'handle.php', true);
  xhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
  xhr.onreadystatechange = function () {
    if(xhr.readyState == 4 && xhr.status == 200) {
      console.log(xhr.responseText);
    }
  };
  xhr.send('username=' + username + '&age=' + age);
</script>

Dalam contoh ini, kami mentakrifkan objek JavaScript yang mengandungi dua pembolehubah: nama pengguna dan umur. Kemudian objek XMLHttpRequest dicipta, dan jenis permintaan serta alamat ditentukan melalui kaedah open(). Jenis Kandungan ditetapkan kepada aplikasi/x-www-form-urlencoded dalam pengepala permintaan Ini kerana kami akan menggunakan kaedah POST untuk menghantar permintaan ke PHP hujung belakang dan perlu meletakkan data dalam. badan permintaan. Akhir sekali, gunakan kaedah send() untuk menghantar data ke PHP backend untuk diproses.

Dalam PHP, kita boleh mendapatkan nilai ini melalui tatasusunan $_POST. Kod sampel adalah seperti berikut:

$username = $_POST['username'];
$age = $_POST['age'];

3 Gunakan Kuki untuk lulus

Selain penyerahan borang dan teknologi AJAX, kuki juga boleh digunakan untuk menghantar nilai JavaScript. Kuki ialah mekanisme untuk menyimpan data pada bahagian pelanggan dan menghantar data antara bahagian hadapan dan bahagian belakang. Kod sampel adalah seperti berikut:

<script>
  var username = '张三';
  var age = 18;

  document.cookie = 'username=' + username;
  document.cookie = 'age=' + age;
</script>

Dalam contoh ini, kami menggunakan atribut document.cookie JavaScript untuk menetapkan nilai kuki. Cara untuk menetapkan kuki adalah dengan menyambungkan nilai dan nama dengan tanda yang sama, kemudian gunakan titik bertitik dan ruang untuk memisahkan berbilang pasangan nilai kunci. Dalam contoh ini, kami menetapkan nama pengguna dan nilai umur sebagai nilai kuki.

Dalam PHP, kita boleh menggunakan tatasusunan $_COOKIE untuk mendapatkan nilai ini. Kod sampel adalah seperti berikut:

$username = $_COOKIE['username'];
$age = $_COOKIE['age'];

Perlu diambil perhatian bahawa apabila menggunakan kuki untuk menghantar nilai, anda perlu memastikan bahawa kuki boleh dihantar dengan betul antara hujung hadapan dan hujung belakang. Terutamanya apabila melintasi permintaan, anda mungkin menghadapi beberapa isu keselamatan dan anda perlu menggunakan atribut kuki seperti HttpOnly untuk memastikan keselamatan penghantaran kuki.

Ringkasan:

Artikel ini memperkenalkan tiga kaedah untuk menetapkan nilai JavaScript ​​​​kepada PHP: penyerahan borang, teknologi AJAX dan penghantaran Kuki. Dalam pembangunan sebenar, mengikut keperluan yang berbeza, kaedah yang berbeza boleh dipilih untuk pemindahan data untuk mencapai interaksi data front-end dan back-end.

Atas ialah kandungan terperinci Bagaimana untuk memberikan nilai javascript kepada PHP. 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