ホームページ >バックエンド開発 >PHPチュートリアル >Javascript 配列が POST 経由で PHP に送信されないのはなぜですか?
JavaScript POST が機能しない: Javascript 配列を PHP に送信する
この記事では、JavaScript を送信しようとしたときに発生する問題について説明します。 POST メソッドを使用して配列を PHP スクリプトに送信します。
ユーザーは Javascript 関数を利用して、配列を PHP スクリプトに POST しています:
<code class="js">function sendToPHP() { $.post("index.php", { "variable": toSearchArray }); }</code>
PHP スクリプトで、受信しようとします。
<code class="php"><?php $myval = $_POST['variable']; print_r ($myval); ?></code>
これらの努力にもかかわらず、配列は正常に送信されません。考慮すべき潜在的な原因の 1 つは、AJAX の動作方法に関する誤解です。
jQuery によって促進される AJAX は、自動プロセスではありません。構造化された実装が必要です。一般的なワークフローには次のものが含まれます:
提供されたコードでは、クライアント スクリプトにサーバーからの応答の処理という最後のステップがありません。この場合、PHP スクリプトは単に配列を出力しているだけです。クライアント側で配列を表示するには、応答を処理して div などの適切な要素に表示する必要があります。
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>
この例では、サーバーからの応答は $.post() メソッドのコールバック関数で処理され、データ オブジェクトのメッセージ プロパティが応答 div に表示されます。
この例では送信されるデータとしてテキストを使用していますが、配列の送信にも同じアプローチを適用できることに注意することが重要です。重要な手順は、サーバーからの応答がクライアント側で適切に処理され、表示されるようにすることです。
以上がJavascript 配列が POST 経由で PHP に送信されないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。