Javascript POST ne fonctionne pas : envoi d'un tableau Javascript à PHP
Malgré de nombreuses tentatives, vous avez rencontré un défi en transmettant un tableau JavaScript à PHP un script PHP via POST. Cherchant de l'aide pour résoudre ce problème, vous présentez le code suivant :
JavaScript :
function sendToPHP() { $.post("index.php", { "variable": toSearchArray }); }
PHP :
<?php $myval = $_POST['variable']; print_r ($myval); ?>
Résolution du problème :
Vous pourriez être confronté à un problème en raison d'une mauvaise compréhension du fonctionnement d'AJAX (JavaScript et XML asynchrones). Bien que jQuery simplifie l'utilisation d'AJAX, cela nécessite une bonne compréhension du processus.
Dans votre cas, la fonction sendToPHP() déclenche une requête POST vers la page index.php avec le paramètre variable défini sur toSearchArray. Cependant, il est crucial de définir une fonction de gestionnaire de succès AJAX pour capturer la réponse du serveur.
Exemple utilisant 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;">