• ベストアンサー

どこからがAjaxと呼ばれるものかわかりません。

質問タイトルが漠然としたものですが。。。 たとえば、「Google maps」はページをリロードすることなく、 地図内で位置を自由に移動させることができる、というので イメージがしやすいです。 ただ、prototypeやjQuery等のJavaScriptライブラリなども Ajaxと呼ばれていたり・・・。 どういう部分がAjaxなのかがわかりません。 ライブラリのプラグイン?の機能によってこれはAjaxでこれは違う、 なんてことはあるでしょうか? 例えば「Lightbox」はAjaxで、「アコーディオンメニュー」なんかは、 違う、とか。 なんだかAjaxという技術がどういうものであるのか自分の中で曖昧でよくわかりません。 (必ずしもXMLが使われている、とも限らないのでしょうか?) わからないまま質問をしているため、支離滅裂ですみません・・・ どうぞ宜しくお願いいたします。

  • AJAX
  • 回答数2
  • ありがとう数8

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

  • ベストアンサー
noname#87714
noname#87714
回答No.2

>ただ、prototypeやjQuery等のJavaScriptライブラリなども >Ajaxと呼ばれていたり・・・。 >どういう部分がAjaxなのかがわかりません。 Prototype.js とか jQuery ライブラリ自体を指して Ajax なんて呼んでいる人を見たら、その人は Ajax のことも JavaScript のことも何にも分かってないと思っていいと思いますよ。 これらは単に、各ブラウザの差異を吸収して簡単に JavaScript が書けるようにするためのものです。(もちろん Ajax というか通信処理を行うための関数も用意されてますけど) Ajax というのは1番目の方も書いている通り、非同期にデータを読み込むことによるページ遷移のないユーザーインターフェイスのことです。 非同期というのは、ページを読み込むタイミングと (ページ上で処理する) データを読み込むタイミングが別であるという意味です。 Lightbox はよく知りませんが、もし大きなサイズの画像をバックグラウンドで読み込みつつ表示させているなら Ajax と呼べると思います。 (Ajax の x は元は XML ですけど、今の Ajax は XML には限らないと思いますし)

hrykyk
質問者

お礼

ご回答ありがとうございます。 >これらは単に、各ブラウザの差異を吸収して簡単に >JavaScript が書けるようにするためのものです。 >(もちろん Ajax というか通信処理を行うための関数も用意されてますけど) 仰るとおり、JavaScriptライブラリ自体をAjaxと呼ぶ人がよくいるので疑問を持ってしまいました。 「通信処理を行うための関数」←ここの部分がAjaxなのですね。 >Lightbox はよく知りませんが、もし大きなサイズの画像を >バックグラウンドで読み込みつつ表示させているなら Ajax と呼べると思います。 なるほど!かなりすっきりしました。 1の方のお礼にも書いたのですが、今後はあまりAjaxという言葉に ふりまわされず、やりたいことができればそれでOKかな・・・と。 (どんな言語が使用されているかは意識しつつも) どこのサイトを見ても「どこからがAjax?」という疑問に答えがみつからず、、、。 質問してよかったです。 ありがとうございました。

その他の回答 (1)

  • Werner
  • ベストアンサー率53% (395/735)
回答No.1

Ajax は Asynchronous JavaScript + XML の略で、 JavaScriptを使って バックグラウンドの非同期(Asynchronous)通信で サーバーからXML形式でデータを受け取り、 ページ遷移なしでページの必要な箇所を書き換えることを言います。 もっとも最近では、やりとりするデータ形式がXMLでなくてもAjaxと言うようです。 (だからといってAjaと言ったりはしないですが。) Ajaxの一番の特徴はページ遷移なしでサーバーとデータをやりとりする(そしてページに反映する)ところです。 この部分がないとAjaxのAの意味合いが無くなるので さすがにこれではただのJavaScriptになってしまうと私は思います。 Ajaxに対する理解が曖昧なのは別にあなたに限ったことではなく、 世間で曖昧な使われ方をしているからあなたも意味がよく分からないのだと思います。 実際、「Ajaxと言わずにJavaScriptと言えば良いのでは?」と感じる記述はよく見ます。 (Ajaxライブラリ→JavaScriptライブラリ など) 正直、今のAjaxという言葉はバズワードに近づいているのではないかと個人的には思ってしまいます。 JavaScriptやDHTMLをちょっと格好良く言い換えただけのね。 [参考] 第1回 Ajax---動的なWebアプリケーションを作るための技術:ITpro http://itpro.nikkeibp.co.jp/article/COLUMN/20080125/292025/ @IT:特集:枯れた新しいUI革命「Ajax」をASP.NETで活用する http://www.atmarkit.co.jp/fdotnet/special/ajax/ajax_01.html Ajaxとは - はてなキーワード http://d.hatena.ne.jp/keyword/Ajax 疑問だが、Ajaxは仕事でも使えるでしょうか? -OKWave http://okwave.jp/qa4653763.html AjaxとDOMの違いを理解できません。 -OKWave http://okwave.jp/qa4665532.html 余談ですが、このAJAXってカテゴリは別にいらない気がする。 基本的にJavaScriptカテゴリで間に合う質問のはずだし、 下手するとAjaxって言語があると勘違いされるかも^^;

hrykyk
質問者

お礼

丁寧に回答いただきましてありがとうございます。 >Ajaxの一番の特徴はページ遷移なしで >サーバーとデータをやりとりする(そしてページに反映する)ところです。 >この部分がないとAjaxのAの意味合いが無くなるので >さすがにこれではただのJavaScriptになってしまうと私は思います。 ちょうど上記のような疑問を持っていました。 >実際、「Ajaxと言わずにJavaScriptと言えば良いのでは?」と感じる記述はよく見ます。 >正直、今のAjaxという言葉はバズワードに近づいているのではないかと個人的には思ってしまいます。 >JavaScriptやDHTMLをちょっと格好良く言い換えただけのね。 Ajaxに対する見解ありがとうございます。曖昧に使用されることが多いのですね。 なんだかホッとすると同時に、やりたいことが支障なくできればそんなに「Ajax」という言葉にふりまわされる必要ないのかな、と思いました。 ただ、コミュニケーションをとるときにちょっと困るときがあり・・・。 >余談ですが、このAJAXってカテゴリは別にいらない気がする。 >基本的にJavaScriptカテゴリで間に合う質問のはずだし、 >下手するとAjaxって言語があると勘違いされるかも^^; 恥ずかしながら、自分も最初は「Ajax」という言語だと思っていました。 参考ページもありがとうございました。

関連するQ&A

  • ajaxとjQueryとjavascriptの関係

    ajaxとjQueryとjavascriptの関係についてよくわからないのですが ajaxとjQueryはjavascriptのライブラリーと言う事でしょうか? ライブラリーの意味もよくわかってませんが。

  • Ajaxについて教えてください。(定義と実装方法について)

    Ajaxについて教えてください。 (定義について) http://www.atmarkit.co.jp/fwcr/rensai/imasara03/imasara03_1.html (サンプル集) http://jsajax.com/default.aspx 【定義について】 >>Ajaxは略語で、正式名称は「Asynchronous JavaScript + XML」となります。Asynchronousは「非同期」という意味 とされいるようなのです。他にも調べてみると、 「Javascriptを使い,Webページとは非同期(Asynchronous)にXML形式(もしくはテキスト形式)のデータ通信を行う手法」といった風にかかれています。 この「Webページとは非同期」という部分がわからないのですが、どういったものを指しているのでしょうか? 【実践方法について】  Ajaxの実装はどういった手順で行うものなのでしょうか?  参考でみたホームページで、ライトボックスをみて感動したので、早速使ってみたいと思いました。いざAjaxサンプルページに載っている、ライトボックスのコードをコピー&ペーストで、自分のPC上で試してみたのですが、動かず悩んでいます。(汗)  調べていくうちに、ライブラリが必要なようなのですが、どのように実装することで、ライトボックスは使用できるようになるのでしょうか?    AjaxサンプルのURLにjQueryを使い倒せ!ということから、jQueryという、Ajax用のライブラリがあるのでしょうか?

    • ベストアンサー
    • AJAX
  • Ajaxの動き

    googleと本で調べたのですが、今いちわからないため質問させてください。 (1)教科書から、Ajaxは、XMLをJavascriptでやり取りしている非同期通信という定義なのはわかりましたが、結局、AJAXを使うということは、HTMLに、<Script>のタグで、JQueryなどのパスを書くということなのでしょうか? AJAXは概念的なものであって、プログラムやモジュールそのものではないと捉えています。 (2)Ajaxによる非同期通信は、何をきっかけとして通信が始まるのでしょうか? 通常は、FORMがSUBMITされたときに、サーバにリクエストがいくという認識ですが そもそも、Ajaxは、何をイベントとしてハンドルしているのでしょうか?(何をきっかけに処理が始まっているのでしょうか?) HTMLに、<Script>のタグで、JQueryのパスを書くと、ハンドルする機能が使用されるのでしょうか? Ajaxでも「リクエスト」は行われているけれども、処理結果として戻されるものがXML形式であるだけだという理解で良いのでしょうか?

    • ベストアンサー
    • AJAX
  • Ajaxの意味について

    最近、話題になっているAjaxですが、それぞれの言語の役割と意味について教えてください。キーワードはJavaScript,PHP,SQL,XML,JSON,Perl,google mapsなどなど、Ajaxに関連して耳にする言葉をそれぞれ関連させて説明していただきたいです。お願いします。ちなみにキーワードで出したすべてを説明していただかなくてけっこうです。

  • Ajaxを扱う上で必要になる知識は何でしょうか?

    下記内容を実現するにはAjaxを使うと思うのですが、 Ajaxを扱えるようになるためには、どのようなプログラムを学べばよいでしょうか。 よく不動産サイトで使われているもので、 条件を指定して検索して物件を絞り込んだり、 合計何物件が見つかりました、 3日以内に公開された物件は、 価格順や土地面積順に並び変える、 各エリアの公開物件数の一覧 サイト内検索 チェックした物件をまとめてお問い合せ この物件をお気に入りリストへ登録 などの機能があり、物件を公開すると自動的に上記機能をその物件に対して扱えるようになる。 HTML CSS JavaScript PHP XML SQL ライブラリは jquery prototype サーバーの知識を深める なんとなくこういったイメージを持っています。 実際に必要なものは何でしょうか。

    • ベストアンサー
    • AJAX
  • JQueryはAJAXとは無関係??

    質問◆JQueryおよびJQueryMobileは「AJAX」とは無関係なのでしょうか? 「JQueryMobileを使っているとき、DOMによってHTMLを動的に差し替えている」という認識なのですが、 特にRequest関連の記載をJavaScriptで記載していない限り、AJAXの処理は行われないのでしょうか? それとも、 JQuery Mobileを使っている場合は、ページ遷移などで、プログラマが意識していなくても(独自にプログラムを書いていなくても) AJAXの処理が行われているのでしょうか? /************************************/ サーバへのリクエストはなくても、1つのマシン内の、HTMLファイルとHTMLファイルの間で、 HTTPで通信がされるということはないと思っています。 (※基本、HTTPはクライアントとサーバの間のときしか使われないのですよね?) JQueryの技術情報のサイトを見ていると、 よく「document.ready」と書かれていたりするソースを見かけますが、 これはAjaxとは関係なく(通信とは関係なく)、 また「xhr.send」も書かれていないHTMLは、AJAXは使われないという理解です。 (「Form、submit」とも関係がない) XMLHttpRequestも「HttpRequest」とあるわけですし、 「Form、submit」を書いているときに行われるわけではないけれども、かわりに、 「xhr.send」とJavaScriptで実行されたタイミングで走る処理であり、 その際、「サーバから返される情報がXMLのデータ形式で(XML以外もですが、、)」だという理解なのですが、合っていますでしょうか?

    • ベストアンサー
    • AJAX
  • JavaScriptライブラリってそもそも・・・

    私はweb制作をはじめて3年たらずのwebデザイナーです。 プログラムはまったくと言っていいほど書けないので、アニメーションなどを実装したいときはwebで拾った著作権的に大丈夫なものを使いまわしています。 ほとんどjqueryライブラリを使ったものです。 最近はそのソースも少しは読めるようになり、少し手を加えられるようになりました。 そこで、かなり根本的な疑問がわいてきたのです。 ◆JavaScriptライブラリってそもそもなにが書いてあるものなのでしょうか? ※JavaScriptライブラリとはで調べたのですが、難しい言葉が多くて・・・ (jqueryとは具体的にどんなものが書いてあるものなのか。) ◆jqueryのアドオンとかjqueryのプラグインとか書いてあるのをよく見かけますが、これはなんのでしょうか?アドオンとプラグインは違うものなのでしょうか? ◆jqueryを読み込んで実行するためのスクリプトをソースに追加すれば意図した動きになりますよね。(アコーディオンメニューなど) ↓こういうもの=========== <script type="text/javascript"> $(function(){ // ここにコードを書いていく。 }); </script> これは「jqueryライブラリを使用して作ったプログラム」という言い方であっているのでしょうか? それともこのソースに追加するスクリプトのことをアドオンというのでしょうか? 無知で恥ずかしいのですが、この辺のことをきっちり理解できれば、もう少し自分のできる範囲が広がるのではないかと思い、質問しました。 よろしくお願いします。

  • 複数スクリプトの読み込みでlightboxが動作しません

    MT4.1でサイトを構築し、カレンダー、サイト内検索、画像表示(lightbox)をprototype.jsを用いたスクリプトを読み込む形で動かそうとしているのですが、画像表示(lightbox(最新版))のみを読み込ませた場合は動作するのですが、三種類とも読み込ませた場合画像表示(lightbox)が正常に動作せず、拡大画像のページに移動してしまいます。 ヘッダ内に組み込んでいるソースは下記となります。 --------------------------------------------------------- <!-- カレンダー表示 --> <script type="text/javascript" src="<$MTBlogURL$>_ajax/calendar/prototype.js"></script> <script type="text/javascript" src="<$MTBlogURL$>_ajax/calendar/ajaxCalendar.js"></script> <script type="text/javascript" src="<$MTBlogURL$>_ajax/calendar/dayChecker.js"></script> <!-- カレンダー表示 --> <!-- lightbox --> <link rel="stylesheet" href="<$MTBlogURL$>_ajax/lightbox/css/lightbox.css" type="text/css" media="screen" /> <script src="<$MTBlogURL$>_ajax/lightbox/js/prototype.js" type="text/javascript"></script> <script src="<$MTBlogURL$>_ajax/lightbox/js/scriptaculous.js?load=effects,builder" type="text/javascript"></script> <script src="<$MTBlogURL$>_ajax/lightbox/js/lightbox.js" type="text/javascript"></script> <!-- lightbox --> <!-- 検索窓処理 --> <script type="text/javascript" src="<$MTBlogURL$>_ajax/search/js/prototype.js"></script> <script type="text/javascript" src="<$MTBlogURL$>_ajax/search/js/blog_ajax_json_search.js"></script> <!-- 検索窓処理 --> --------------------------------------------------------- 画像表示(lightbox)のみにすると動作するので、他のスクリプトと衝突しているのだとは思いますが読み込みの順番などを変更しても効果がありませんでした。 解決策をご存知の方、ご教授をお願いいたします。

  • Ajaxの勉強

    Ajaxのマルチウィンドウというのを使ってみたくて先日 http://okwave.jp/qa2822223.html こちらで質問させていただいたのですがなかなか回答が得られず基礎から勉強したいのですが・・・ なかなかよいサイトにめぐり合えません(><) 基礎から勉強できるサイトをご存じないでしょうか? http://www.openspc2.org/JavaScript/Ajax/Ajax_study/index.html 先程こちらのサイトを見ていたのですが第2章4節で既に躓いてしまいました data.txtを読み込んでフレーム内に表示するものだと思うのですがうまく表示されません 第1章4節で必要な知識として HTML スタイルシート JavaScript XML サーバー側のプログラム (CGIやデータベース等) とあります。XML以外はまだ勉強中の身ではありますが多少は扱えます XMLの勉強からはじめた方がよいのでしょうか?

  • AJAXの質問

    これからAjaxに挑戦しようとするプログラマーです。 Ajaxの基本的なことについて教えてください。 私は某メーカーの情報システム課員です。 近年は情報の一元化を推進ということで、社内のインフラを整備するため様々な案件を進めてきました。 案件によりACCESSなどですませる場合もありますが、 基本的な開発環境は以下の環境です。 ○ASP(VBScript) ○Oracle 別にプログラムに自信があるわけではありませんが、 案件をこなすうちにVBScriptやJavascriptも納得いく程度書けるようになりました。 そこで次の案件では、JQueryとAjaxを用いた開発に挑戦したいと思っております。 一番やりたいことは、Ajaxの利点であるサーバーとの非同期通信です。 AjaxではXML文書を非同期にやりとりするようですが、やりたいことはOracleのデータを非同期にやりとりしたいです。 このようなことは可能なのでしょうか?

    • ベストアンサー
    • AJAX

専門家に質問してみよう