5

AJAXの略は知っています。私はJavaScriptをかなりよく知っています。しかし、率直に言って、私は AJAX が何であるかについて明確ではありません。

私が知っているのは XMLHttpRequest() だけですが、それ以上のものに違いありません。AJAX が完全に普通の JavaScript の特定の側面にすぎないことを、誰かがより明確に説明できますか? どう違うのか見当がつきません。

編集:リロードせずにページを更新できることも理解しています。それは素晴らしいことです、私は知っています。しかし、それが標準の JavaScript を超えたものであることはまだわかりません。

4

5 に答える 5

5

まぁ、魔法とかじゃないですけどね。これは本当に普通の Javascript であり、普通の XML (または JSON、またはその他のデータ形式) です。そして、それはブラウザで実行されます。これはどれも特に新しいものでも目新しいものでもありません。Microsoft は 1996 年に「DHTML」について話し、1997 年に正式にリリースしました。

しかし、これらの既存のものを組み合わせることは、特定の名前を獲得するのに十分一般的で有用なアプローチです. AJAX は、ブラウザーで実行されている Javascript ロジックで駆動される非同期要求を使用して、XML 形式またはその他の形式でデータを取得するパターンを指します。通常、取得したデータは、ページ全体を更新することなく、何らかの方法で HTML ページを更新するために使用されます。

あなたは、それが標準の JavaScript に過ぎないことを理解していないと言いました。 ブラウザで Javascript を使用すると、期限切れ後にアラートをポップアップ表示するタイマーを実行するのと同じくらい簡単なことを実行できます。または、背景色でフェードアウトを実行できます。または、アコーディオン ポップアウトのような jQuery 効果を実行します。または、異なる列で HTML テーブルを動的に並べ替えます。Javascript を使用すると、テキスト ボックスのオートコンプリートも可能です。これらはすべて UI を更新しますが、必ずしもデータを取得するとは限りません。(オートコンプリートがそうする場合もありますが、一般的にはそうではありません)。

AJAX は常に通信とデータ取得を伴うため、「標準 Javascript」とは異なります。

于 2012-04-08T01:09:18.073 に答える
3

理解を得るには、XMLHttpRequest がどこから来たのかを調べる必要があると思います。当時、これは JavaScript の標準的な部分ではありませんでした。純粋な JavaScript を使用してブラウザーから非同期 HTTP 要求を行うことはできませんでした。XMLHttpRequest オブジェクトは、Microsoft によって IE5 で ActiveX コントロールとして最初に導入されました。そのことを念頭に置いて、今日の JavaScript の使用方法は、はるかに単純なシナリオから進化してきました。

ウィキペディアのページ、特に歴史のセクションを読むことをお勧めします。Ajax について、あからさまにすばらしいものは何もありません。それは、当時の新しいやり方を表す造語に過ぎず、行き詰まっています。

http://en.wikipedia.org/wiki/AJAX

特に、決定的な記事http://www.adaptivepath.com/ideas/ajax-new-approach-web-applicationsを読んで ください。これはおそらく、Ajax がどこから来たのか、そしてそれが実際に何を意味するのかを理解するための最良の方法です。おそらく最も重要なことは

Ajax の定義

Ajax はテクノロジーではありません。それは実際にはいくつかのテクノロジーであり、それぞれが独自に繁栄し、強力な新しい方法で組み合わされています。Ajax には以下が組み込まれています。

  • XHTML と CSS を使用した標準ベースのプレゼンテーション。
  • ドキュメント オブジェクト モデルを使用した動的な表示と対話。
  • XML と XSLT を使用したデータ交換と操作。
  • XMLHttpRequest を使用した非同期データ取得。
  • JavaScript がすべてを結合します。

前述のとおり、最近では Ajax の正確な定義を正確に特定することは非常に困難です。方法論は、ブラウザーが進化するにつれて更新される傾向がありますが、これらはその概念の根底にある原則でした。

于 2012-04-08T01:11:44.250 に答える
0

「非同期 Javascript と XML」 -- その通りです。これは実際には Javascript の単なるコンポーネントです。サーバー側から見ると、文字通り何もありません。サーバーは、AJAX 要求を処理しているのか、それとも「通常の」要求を処理しているのかを知りませんし、気にもかけません (もちろん、Web アプリケーションは知っていて気にかけますが)。Web サイトの設計に非常に役立つため、たまたま有名で、派手な頭字語を持っています。

編集: W3 仕様http://www.w3.org/TR/XMLHttpRequest/からの定義:

XMLHttpRequest 仕様は、クライアントとサーバー間でデータを転送するためのスクリプト化されたクライアント機能を提供する API を定義します。

于 2012-04-08T01:04:27.693 に答える
-1

これは、ページを更新することなく、サーバーとの間でデータを非同期に取得および送信する方法です。以前は XML (AJAX の「X」) だけで交換されていたデータが、他のもの (JSON や JSONP など) と交換されるようになりました。

于 2012-04-08T00:59:52.117 に答える
-1

JavaScript はクライアント側で発生します。Ajax は JavaScript を使用して、ページをロードせずにサーバーから REMOTE 応答を受信します。

于 2012-04-08T01:04:59.260 に答える