Rumah >pembangunan bahagian belakang >tutorial php >Mengapa Array Javascript Saya Tidak Dihantar ke PHP melalui POST?

Mengapa Array Javascript Saya Tidak Dihantar ke PHP melalui POST?

DDD
DDDasal
2024-10-28 04:56:30650semak imbas

Why is My Javascript Array Not Being Sent to PHP via POST?

Javascript POST Tidak Berfungsi: Menghantar Javascript Array ke PHP

Dalam artikel ini, kami akan menangani kesukaran yang dihadapi semasa cuba menghantar Javascript tatasusunan kepada skrip PHP menggunakan kaedah POST.

Pengguna sedang menggunakan fungsi Javascript untuk MENYIAR tatasusunan kepada skrip PHP:

<code class="js">function sendToPHP() {
  $.post("index.php", { "variable": toSearchArray });
}</code>

Dalam skrip PHP, mereka cuba menerima dan cetak tatasusunan:

<code class="php"><?php
  $myval = $_POST['variable'];
  print_r ($myval);
?></code>

Walaupun usaha ini dilakukan, tatasusunan tidak berjaya dihantar. Salah satu punca berpotensi yang perlu dipertimbangkan ialah tanggapan salah tentang cara AJAX beroperasi.

AJAX, yang difasilitasi oleh jQuery, bukanlah proses automatik. Ia memerlukan pelaksanaan yang berstruktur. Aliran kerja biasa melibatkan:

  1. Mulakan panggilan AJAX daripada skrip klien (cth., Javascript).
  2. Hantar data ke skrip sebelah pelayan (cth., PHP).
  3. Terima dan proses respons daripada pelayan.

Dalam kod yang disediakan, skrip klien tiada langkah terakhir: memproses respons daripada pelayan. Skrip PHP, dalam kes ini, hanya mencetak tatasusunan. Untuk memaparkan tatasusunan pada sisi klien, respons mesti diproses dan dipaparkan dalam elemen yang sesuai, seperti div.

Berikut ialah contoh cara melaksanakan langkah ini menggunakan jQuery:

<code class="js">$(document).ready(function() {
  $('#btn').click(function() {
    // Get the value from the input field
    var txt = $('#txt').val();

    // If the input field is empty, display an error
    if (txt == "") {
      alert("Enter some text");
    } else {
      // Send the text to the server
      $.post('catcher.php', { 'text': txt }, function(data) {
        // The response is now available in the 'data' variable
        // Update the UI with the response
        $('#response').text(data.message);
      }, 'json');
    }
  });
});</code>

Dalam contoh ini, respons daripada pelayan diproses dalam fungsi panggil balik kaedah $.post(), di mana sifat mesej objek data dipaparkan dalam div respons.

Ia adalah penting untuk ambil perhatian bahawa walaupun contoh ini menggunakan teks sebagai data yang dihantar, pendekatan yang sama boleh digunakan untuk menghantar tatasusunan. Langkah utama adalah untuk memastikan bahawa respons daripada pelayan diproses dan dipaparkan dengan sewajarnya di sisi pelanggan.

Atas ialah kandungan terperinci Mengapa Array Javascript Saya Tidak Dihantar ke PHP melalui POST?. 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