Mengapakah data borang jQuery saya tidak sampai ke pelayan PHP?

Patricia Arquette
Lepaskan: 2024-10-31 07:44:30
asal
380 orang telah melayarinya

Why is my jQuery form data not reaching the PHP server?

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>
Salin selepas log masuk

Kod Bahagian Pelayan PHP:

<code class="php">$nume = $_REQUEST["nume"]; // remains empty
$email = $_REQUEST["email"];
$telefon = $_REQUEST["telefon"];
$comentarii = $_REQUEST["comentarii"];</code>
Salin selepas log masuk

Analisis:

  • Pengesahan Siri: Pastikan siri jQuery mengembalikan rentetan data borang yang dikodkan dengan betul, mis. , "nume=name&email=email".
  • Pengendalian Permintaan PHP: Sahkan jika kod sebelah pelayan menggunakan kaedah permintaan yang betul. Ia sepatutnya $_POST atau $_REQUEST untuk menerima data daripada permintaan POST.
  • Panggilan Merentas Domain: Sahkan bahawa skrip tidak dipanggil dari domain lain. Permintaan merentas domain mesti dikendalikan secara eksplisit dalam kod pelayan.
  • Konfigurasi Pelayan: Semak sama ada pelayan mempunyai sebarang tetapan atau sekatan khusus yang menghalang penghantaran data. Pastikan "allow_url_fopen" dan "allow_url_include" PHP didayakan.

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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!

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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!