コンテキストPHP + AJAX
私はPHP + AJAXでよりダイナミックしたいのですが、プロジェクトに取り組んでいるとの記事を送信します。 私はJavascriptを完全に吸うので、私はAJAXの部分にjQueryを使用しています。とにかくそれは価値があると思われます。 私のアプリケーションが投稿を送信するためにフォームを使用する必要があるところに達しました。このアクションを実行するためにajax呼び出しを使用したいと思います。私が投稿したいページには、投稿された最新の15の投稿のリストもあります。
最初の質問:私はちょうどそれを忘れ、PHPだけを使うべきですか?
アクション
ユーザーは、私が$("#myPostSubmit").live('click', function() { /* here i make the ajax call */ });
ようなものでjQueryのスクリプトで管理するよハンドラです<a id="myPostSubmit">Submit</a>
に<textarea></textarea>
とクリックで何かを書き込みます。投稿が正常に送信されたら、何かをするつもりです(私は次のセクションで話します)、のブラックボックスを4秒間表示する私のshowAlert(text)
機能を使用してユーザーに警告するか、
2番目の質問:私は他の方法でクリックイベントを管理すべきか?
sendpost(post)
などの関数を作成して、それをHTMLonclick=""
イベントに追加する必要がありますか?
ポストが正常に
を送信された場合、私は約2オプションの議論を開くだろう:
私たちは、ページを更新するには、[実際 は、ページ全体を読み込むが、 をしていません 投稿リストを取得して、 古いものを消して、もう1つのajax呼び出しで、PHPファイルを に読み込んで新しい投稿を取得する( を送信したものを含む)、そして 投稿リストが表示されます]。 Pro:1)投稿リストが読み込まれた後にユーザーが読んでいるものは、送信された実際の投稿であると確信しています。実際には、アクションを二重にチェックします。 2)私たちはまた、平均で送信されたいくつかの可能性のある投稿を読み込みます。 短所:1)ポストリストテンプレートを取得するPHPファイルを作成し、そのページのテンプレートを2つのファイルに分割する必要があります。 2)それは本当に私にはスムーズに見えません。
投稿テンプレートを取得するためにJavascriptを使用して、リストに追加するだけです。 Pro:1)ページ全体を再読み込みすることなく、本当にスムーズにします。 2)ページをリロードするためにPHPファイルは必要ありません。 Javascript(jQuery)を使用します。 Cons:1)ポストhtmlテンプレートを取得してリストに追加するにはどうすればよいですか? 2)PHPなしでユーザー(ログ)情報を取得するにはどうすればよいですか?
3番目の質問:それは第一または第二ソリューションより良いですか?より良い第3のソリューションを提供しますか?
PHPページ
このAJAX呼び出しを受信するPHPページがある:?p=action&a=sendpost
。ページには$_POST['myMessage']
が設定されていて、空ではなく他のものは必要ありません。ページ自体は、すべてのユーザー情報をCookieから取得し、必要なクエリを実行することができます。
アプリケーション
それは3つの部分に分かれています:のApp、テンプレート、図書館。基本的に、アプリケーションの各ページには、独自の.app.php
と.tpl.php
ファイルがあります。
.app.php
ファイルは、ライブラリからクラス や他のものを使用して、ページを元の建物 を管理します。 の場合、 データベースからデータを取得し、変数 に入れます。- テンプレートは、
.app.php
ファイルの最後に呼び出されます。.app.php
ファイルは、取得したデータをテンプレートに送信し、.tpl.php
ファイルがそれらを出力します。 - ライブラリは、アプリケーションファイルに必要なクラスと関数を格納するために使用されます。
第四に質問:これは私のWebアプリケーションを管理するのは良い方法ですか?
編集:アラートメッセージをユーザーに返すのはどうですか?
私は、成功または間違いの場合の応答を管理する$.ajax()
内のオプションについて読んでいます。それについてのドキュメントはとてもシンプルで、私はそれを得ていませんでした。
フィフス質問:私はエラー または成功(PHPファイルから)を返す必要がありますどのように?
jQueryフォームプラグイン(http://malsup.com/jquery/form)を検討しましたか? – Tomba
実際の問題は提出プロセスではなく、次に何が起こるか(投稿リストの更新)です。とにかく、おそらく私に多くの助けになるjQueryフォームプラグインのおかげで。 – Shoe
http://api.jquery.com/jQuery.post/ – Michael