Javascript POST funktioniert nicht: Javascript-Array wird an PHP gesendet
Trotz zahlreicher Versuche sind Sie beim Übergeben eines JavaScript-Arrays auf eine Herausforderung gestoßen ein PHP-Skript per POST. Wenn Sie Hilfe bei der Lösung dieses Problems suchen, präsentieren Sie den folgenden Code:
JavaScript:
function sendToPHP() { $.post("index.php", { "variable": toSearchArray }); }
PHP:
<?php $myval = $_POST['variable']; print_r ($myval); ?>
Problemlösung:
Möglicherweise haben Sie ein Problem aufgrund eines Missverständnisses über die Funktionsweise von AJAX (Asynchrones JavaScript und XML). Während jQuery die AJAX-Nutzung vereinfacht, erfordert es ein angemessenes Verständnis des Prozesses.
In Ihrem Fall löst die Funktion sendToPHP() eine POST-Anfrage an die Seite index.php aus, wobei der Variablenparameter auf toSearchArray gesetzt ist. Es ist jedoch wichtig, eine AJAX-Erfolgshandlerfunktion zu definieren, um die Antwort des Servers zu erfassen.
Beispiel mit 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;">