Javascript POST tidak berfungsi: Menghantar Javascript Array ke PHP
Walaupun banyak percubaan, anda telah menghadapi cabaran dalam menghantar tatasusunan JavaScript ke skrip PHP melalui POST. Mencari bantuan untuk menyelesaikan isu ini, anda mengemukakan kod berikut:
JavaScript:
function sendToPHP() { $.post("index.php", { "variable": toSearchArray }); }
PHP:
<?php $myval = $_POST['variable']; print_r ($myval); ?>
Penyelesaian Isu:
Anda mungkin menghadapi masalah kerana salah faham tentang cara AJAX (JavaScript dan XML Asynchronous) beroperasi. Walaupun jQuery memudahkan penggunaan AJAX, ia memerlukan pemahaman yang betul tentang proses tersebut.
Dalam kes anda, fungsi sendToPHP() mencetuskan permintaan POST ke halaman index.php dengan parameter pembolehubah ditetapkan kepada toSearchArray. Walau bagaimanapun, adalah penting untuk menentukan fungsi pengendali kejayaan AJAX untuk menangkap respons pelayan.
Contoh menggunakan index.php:
<html> <head> <title>Test</title> <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script> <script type="text/javascript"> $(document).ready(function(){ $('#btn').click(function(){ var txt=$('#txt').val(); if(txt == ''){ alert("Enter some text"); } else { $.post('catcher.php', {'text':txt}, function(data){ $('#response').text(data.message); }, 'json'); } }); }); </script> </head> <body> <input type="text" id="txt"> <input type="button" id="btn"> <pre id="response" style="overflow:auto;width:800px;height:600px;margin:0 auto;border:1px solid black;">