Mensiri dan Menghantar Borang dengan jQuery dan PHP: Penyelesaian Masalah Penghantaran Data
Apabila menggunakan jQuery untuk menyiri dan menyerahkan data borang, faktor tertentu boleh membawa kepada data terlepas di hujung pelayan. Mari kita terokai senario dunia sebenar dan menganalisis isu yang berpotensi:
Penerangan Masalah:
Percubaan untuk menghantar data borang menggunakan jQuery gagal, dengan data tidak mencapai pelayan. Borang HTML tersusun dengan baik, dan JavaScript mengendalikan penyiaran dan penyerahan borang. Walau bagaimanapun, PHP sebelah pelayan gagal mendapatkan sebarang data.
JavaScript (jQuery):
<code class="javascript">$("#contactForm").submit(function() { $.post("getcontact.php", $("#contactForm").serialize()) .done(function(data) { // ... }); return false; });</code>
Kod Bahagian Pelayan PHP:
<code class="php">$nume = $_REQUEST["nume"]; // remains empty $email = $_REQUEST["email"]; $telefon = $_REQUEST["telefon"]; $comentarii = $_REQUEST["comentarii"];</code>
Analisis:
Penyelesaian:
Untuk menangani isu ini, pertimbangkan perkara berikut:
JavaScript:
Gunakan fungsi jQuery $.ajax untuk fleksibiliti dan pengendalian ralat yang lebih baik:
<code class="javascript">var datastring = $("#contactForm").serialize(); $.ajax({ type: "POST", url: "getcontact.php", data: datastring, success: function(data) { // Handle successful response here }, error: function() { // Handle any errors during the request } });</code>
PHP:
Pastikan kod sebelah pelayan menggunakan kaedah permintaan yang betul:
<code class="php">$nume = $_POST["nume"]; // assuming data is submitted via POST method $email = $_POST["email"]; $telefon = $_POST["telefon"]; $comentarii = $_POST["comentarii"];</code>
Selain itu, dayakan sebarang tetapan pelayan yang diperlukan untuk permintaan merentas domain jika berkenaan.
Atas ialah kandungan terperinci Mengapakah data borang jQuery saya tidak sampai ke pelayan PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!