• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:PHPのフォームとAjaxを組み合わせたいのですが)

PHPフォームとAjaxの連携について

このQ&Aのポイント
  • PHPのフォームとAjaxを組み合わせたい場合、どのようにjQueryコードを記述すれば良いのか悩んでいます。
  • form.phpのフォームをsubmitし、その内容をpost.phpに送り、res.phpの出力内容をform.phpの<div id="text1">に表示したいと考えています。
  • どのようにして実現するかご教示いただけませんか?

質問者が選んだベストアンサー

  • ベストアンサー
noname#161640
noname#161640
回答No.1

要するに、 フォーム送信→post.phpで処理→res.phpにリダイレクト→結果をAjaxで戻す というような流れを考えているということでしょうか。 となりますと、リダイレクトの時点でアウトです。できません。 そもそもリダイレクトの処理、header("Location: http://$host$uri/$extra");というのは、ヘッダーにLocation情報を設定し、それを読み込んだブラウザがその情報に従って別のアドレスに移動する、という働きをするものです。つまり、これは「受け取ったヘッダーによりブラウザが処理を行う」ものです。 したがって、Ajaxでの通信では利用できません。Ajaxの場合、サーバーに問い合わせをし、サーバーから結果を受け取るという片道通行の往復便といったやり取りしかできませんので。 対処法としては、まずres.phpにリダイレクトするのではなく、post.phpから結果をダイレクトに出力するように書き換える。そして、jQueryなりなんなりでpost.phpにAjax通信する、という形になるでしょう。これならシンプルなやり取りですから考えなくてもおわかりになると思います。

chopperin
質問者

お礼

ご回答ありがとうございました。 なるほど、良く分かりました。 自分が勘違いというか、仕組み自体をしっかりと理解できていなかったようです。 >post.phpから結果をダイレクトに出力するように書き換える この表現で理解が出来ました。 ありがとうございました。

関連するQ&A