- ベストアンサー
どこまでがAjaxなの?
現在、Ajaxを勉強中の初心者です。 質問のタイトル通りなのですが、どこまでがAjaxなのかイマイチわかりません。 AjaxはJavaScript + XMLで非同期通信をする技術ですが 1.画像やプログラムファイルをサーバPC側に入れておいてクライアントPC側でラジオボタンの選択によって画像表示を変えるのはAjaxですか、それともただのJavaScriptですか? 2.サーバを使って以下のような入力可能文字カウンタを表示させるのはAjaxですか、それともただのJavaScriptですか? <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> <title>文字のカウント</title> </head> <body> <form> <textarea cols="46" rows="5" id="title1" name="title1" size="50"></textarea><br /> あと<span id="inputlength1">20</span>文字入力できます<br /> </form> <script type="text/javascript"><!-- function lengthCounter (node, max, cut) { max = max || Number (node.maxLength) || 20; return function () { var rest = max - node.value.length; if (rest < 0) { if (cut) { alert ('20文字以内にしてください'); rest = max; node.value = node.value.substring (0, max); } } return rest; }; } function dispValue (node, cbFunc) { return function () { node.firstChild.nodeValue = cbFunc (); }; } setInterval (dispValue ( document.getElementById ('inputlength1'), lengthCounter (document.getElementById ('title1'), 20, true)), 100); // --></script> </body> </html> 3.「googleサジェストのインクリメンタル検索にはAjaxの技術が利用されている」←ここでのAjaxにはPHPも含まれますか? 私はPHPをAjaxの枠には入れないような気がします。正確にはPHPとAjaxでインクリメンタル検索機能がつくられていると思うのですが。 4.PHPのみでAjaxと同じ非同期通信ができればそれはAjaxと呼ぶのか? よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
まず、2の質問では、サーバを使ってとありますが、全くサーバを利用していません。 単に、クライアント上でJavaScriptを利用して文字数をカウントして、DOMで結果を表示しているだけです (Webサーバがなくても、とりあえずクライアントで動作させられる)。 Ajaxに対する私の理解は、 「サーバとの非同期通信により必要なデータを最小限で取得すること」 です。非同期通信によりWebブラウザでの操作が止まらず、また、HTMLレスポンスを得ずに、必要なデータのみを 取得し、Webブラウザ内で必要な箇所のみ更新するものです。 Googleのインクリメンタル検索は、ユーザの入力に対し、バックグラウンドで通信を行ってます。 で、サーバ側でリクエストに応じるために使われるプログラムは、別に何でも構いません(Webサーバで処理できる手段なら 何も問われることはありません)。 あと、PHPのみとありますが、これはクライアント側? サーバー側? まあ、PHPでクライアントソフトを作って、非同期 通信でサーバ側をPHPで処理して、必要なデータのみを得るのも、広い範囲でAjaxかもしれませんが... 普通は、 クライアント側は、JavaScriptとDOMがに対応したWebブラウザですけどね。
その他の回答 (1)
- kachansa
- ベストアンサー率44% (30/67)
>1番目は http://www.sky.sannet.ne.jp/masapine/java_gazou.html のようなものですが >これはAjaxですか? Ajaxではないです
お礼
回答有難うございます。 >Ajaxではないです もう少し具体的に教えてもらえないですか? http://www.sky.sannet.ne.jp/masapine/java_gazou.html これは画像がWebサーバ側にあるのでは? それをページの読み込み(同期通信)なしで切り替えているのだからAjaxではないのですか?
補足
これがAjaxでないのならAmazonの「この商品を買った人はこんな商品も買っています」てヤツも Ajaxじゃないのでしょうか?原理は同じだと思うのですが。 ※画像を貼れなくてわかりづらいですが・・・
お礼
回答有難うございます。 1番目は http://www.sky.sannet.ne.jp/masapine/java_gazou.html のようなものですが これはAjaxですか?