送信時にjquery .postを使用してサーバーにjavascript配列を渡し、次にPHPで配列を出力しますか?

HTML:

<form id="continue" action="summary.PHP" method="post">
<input type="submit" value="Continue" >
</form>

JS/JQuery

$('#continue').submit(function(){
    var data = ["jon", "steve"];
    var nameArray = JSON.stringify(data);
    $.post("summary.PHP", { nameArray: nameArray });
});

PHP

$name = json_decode($_POST["nameArray"]);
print_r($name);

「続ける」ボタンをクリックすると、summary.phpページにリダイレクトされ、名前がリストされます。現在、summary.phpページが読み込まれているときに「未定義インデックス:nameArrayエラー」が表示されます。

私は火かき棒をチェックし、POSTはありません。だから、nameArrayも投稿されていないようです。解決策は何ですか?

0
追加された
ビュー: 1
HTMLとJavaScriptの両方でPOST実装が用意されています。 ajax( $ post )またはリダイレクト( <form> )を使用しますか?
追加された 著者 pimvdb,

1 答え

これはデータを扱う正しい方法ではありません。

あなたはページを投稿しています(それを残しています)。あなたがページにとどまりたいなら、あなたはajax投稿を使用します。データを通常に投稿する場合は、フォーム投稿を使用します。

jonまたはsteveの名前を配列として投稿したい場合は、次のhtml

<input type="hidden" name="nameArray[]" value="jon" />
<input type="hidden" name="nameArray[]" value="steve" />

あなたはajaxを使用したい場合は、フォームの送信時にそれをしないでください。あなたはそれをsubmitで行うことができますが、関数の最後にfalseを返して、ページは送信されません(あなたは現在のページにとどまります)

3
追加された
PHP - 日本のコミュニティ [ja]
PHP - 日本のコミュニティ [ja]
4 参加者の

招待状へのリンク: https://t.me/joinchat/B2gdSlA_dh1-BQtEKA2dfw このグループではPHPについて話します。 パートナー:kotaeta.com