人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

facebookの「いいね」ボタンのように、押下されたらページ遷移なしで押されたことが反映される機能を実装したいです。
htmlの表示を変えるだけなら分かるのですが、データベースにも押下の内容を反映したいです。データベースにアクセスするのは、一度formでsubmit等してpostされたものをPHP等で受け取ってDBに入れる、というやり方しか分かりません。
どのようにすれば、facebookの「いいね」ボタン(に限りませんが)のようにページ遷移なしで出来るのでしょうか?(あれもDBにその場で反映しているのですよね)

●質問者: koime_ryokutya
●カテゴリ:コンピュータ インターネット
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● tdoi
●50ポイント

多くの場合、JavaScriptを利用してバックグラウンドでサーバと通信しています。

小難しく書くと、

1.ブラウザがサーバからHTMLデータを取得

2.取得したHTMLデータをブラウザが表示

3.表示されたボタンをユーザがクリック

4.クリックすると、HTMLデータに仕込まれたJavaScriptのコードが起動する

5.JavaScriptのコードは表示とは別にバックグラウンドで動作し、サーバへデータを投げる

6.必要があれば、サーバへ投げた結果を受け取り、表示しているHTMLデータを書き換える

7.HTMLデータを書き換えることで、ボタンの状態表示が変化する。

というような手順です。

Ajaxとか、JavaScript HTTPとかそんなキーワードで検索すると、参考になるサイトが色々と出てくるかと思います。

何かの参考になれば。


2 ● cooper0524
●50ポイント

上記の方が回答していますが、Ajaxの技術を使います。

ボタンが設置してあるのはHTML上でいいですが、クリックするとsubmitではなくJavascriptで別のPHPのようなプログラムにアクセスし、DBを書き換えます。

そのPHPで結果をjson形式のような形で返し、javascriptで受け取ってHTMLを書き換えます。

javascriptであれば画面の移動は無くHTMLを書き換えることができます。

jQueryを使うとJavascriptを書く部分が簡単になって良いかと思います。

関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ