ユーザーにページAのフォームを記入させてから、それと一緒に$ _POSTデータを送るページBにリダイレクトします。私は$("form").serialize()
またはthis.serialize()
のようなフォームから投稿データをシリアル化できますが、$ _POSTから取得する必要があるフォームからデータを取得したくないことがわかりました。現在のページに存在するフォームから$ _POSTデータをシリアライズするにはどうすればいいですか?
答えて
誰かがこれを行う方法を疑問に思った場合に備えて、私はこれに対する解決策を見出しました。 var post_info = [];
は、すべての$ _POST変数を保持する配列を作成します。 これはすべてのポスト変数をとり、ajax post_info = <?php echo json_encode($_POST); ?>;
のjson配列に配置します。そして、アヤックスは普通のようです。
"ajax": {
"url": "ajax/test.php",
"type": "POST",
"data": {post_info: post_info}
},
php側では、json_decodeは必要ありませんでした。なぜなら、ajaxはこれを$ _POST変数として送信するからです。それ以外は多次元配列なので、アクセス変数は$_POST['post']['item']
のようになります。そして、そこに行く。私は前に自分の質問に答えたことはありません。
Javascriptを使用してデフォルトのブラウザの動作を上書きしない限り、誰かがフォームを送信すると、ページBに移動します。フォームの「メソッド」と「アクション」を定義して、必要な動作を取得します。したがって、POSTデータを使うにはmethod = "POST"を使い、pageb.phpに行くにはaction = "/ pageb.php"を設定します。次にpageb.phpで、pageaのフォームからPOST変数にアクセスできます。例えば。
ページA:
<form name="aform" action="/pageb.php" method="POST">
<input type="text" name="name" />
<input type="submit" value="Submit" />
</form>
に自分の名前を入力しますが、pageb.phpにリダイレクト、提出ヒット。次にページbに:
<?php
$name = $_POST["name"];
echo $name;
?>
名前が表示されます。しかしそれほど刺激的ではありません。
代わりに、AjaxとjQueryのserialize関数を使用して、pageaを終了せずにpageb.phpにフォームデータを送信することもできます。
あなたはこのような何か行うことができます:
<form id="aform" action="/pageb.php" method="POST" onsubmit="return submitForm(event)">
<input type="text" name="name" />
<input type="submit" value="Submit" />
</form>
<script type="text/javascript">
function submitForm() {
event.preventDefault();
$.post('/pageb.php', $("#aform").serialize(), function(response) {
// Do something with the response
});
};
</script>
かなり基本的だが、それが正常に動作してフォームを停止して、フォームをシリアライズし、ページBに送信します。 pageb.phpは、あなたが達成したいものに応じて、何らかの種類のテキスト、プレーンまたはJSONを出力する必要があります。
これは私がやっていることです。私がpageb.phpを押すと、datatabseを照会してデータテーブルを作成するためのajax呼び出しを行っています。 pageb.phpでフォームはなくなりましたが、私は$ _POSTデータを持っています。この状況全体の問題は、データテーブルです。私は、データテーブルにデータを入力せずにページを読み込むことはできません。永久に "読み込み中"と表示され、ページ上には何も描画されません。 – moe
私はあなたに余分なステップを追加したと思います。 PHPでpagebを起動してデータベースクエリを実行し、別のページにリダイレクトするか、pagebをHTMLとしてレンダリングします。ページを変更した後にAjaxコールを送信する必要はありません – Taintedmedialtd
- 1. nodejsがajaxからejsにデータをリダイレクト
- 2. Ajax submitフォームPHPでシリアライズされたデータはnullです
- 3. PHPの$ _POST []からデータを読み取る
- 4. php to htaccess rewrite - $ _POSTデータがない場合リダイレクト
- 5. PHPはAjaxコールから空の$ _POST変数を受け取ります
- 6. Ajax PHPのURLにリダイレクト
- 7. $ _POSTデータをphpExcelに
- 8. PHPで配列からデータを取り出す$ _Post
- 9. PHPのjquery ajaxから$ _POST値を取得するにはどうすればいいですか?
- 10. $ _POSTデータを確認する
- 11. PHPファイルがindex.htmlから$ _POSTデータを取得できません
- 12. Wordpress AJAX/PHP $ _POSTオブジェクトは常に空です
- 13. PHPとjQuery AJAX - $ _POSTは常に空です
- 14. $ _POSTからデータを取得し、特定のデータをPHPで表示
- 15. データベースからのPHP、Jquery、AJAXフォームメカニズムとデータによるデータのフィルタリング
- 16. データベースajaxまたは$ _POSTで検索するPHP
- 17. PHPからAJAXへのデータの取得
- 18. csrfトークンfor ajax codeigniterでデータをシリアライズ
- 19. Android StudioからPHP $ _POSTをトラブルシューティング
- 20. AJAXからPHPデータを取得
- 21. Ajaxはシリアライズします。 PHPの変数を読み込む
- 22. Dotmailer - ajaxコールの後にPHPでリダイレクト
- 23. Ajaxフォームのポストからリダイレクト
- 24. $ .ajaxからphpにデータを送信する
- 25. PHPプログラムからAjaxから送られたJsonデータをブラウズする方法は?
- 26. メインウィンドウをajaxコールからリダイレクト
- 27. Laravel - ajaxリクエストからリンクをリダイレクトする
- 28. jQueryのAJAXからデータをPHPに渡す際の問題
- 29. PHP:$ _POSTデータを取得する最良の方法は何ですか?
- 30. phpオブジェクトのシリアライズ/シリアライズ
この質問を編集してより明確に尋ねてください。これは混乱しています –
なぜあなたはそれをやっていますか?あなたはAJAXで情報を送信し、応答を受信した後、その情報でもう一方の情報を作成することができますか?しかし、私はまだそれの使用を理解していない。 –
どのようにデータを投稿していますか?アヤックス?それ以外の場合は、JSでデータをシリアル化し、POSTメソッドを使用して別のページに「リダイレクト」する方法がわかりません。あなたのコードを私たちに教えてください。 –