HTML、JavaScript™ テクノロジ、DHTML、および DOM で構成される Ajax は、煩雑な Web インターフェイスを対話型の Ajax アプリケーションに変換する優れた方法です。 Ajax の専門家によって書かれたこの記事では、一般的な概要から詳細な説明まで、これらのテクノロジがどのように連携して効率的な Web 開発を実現するかを示します。また、XMLHttpRequest オブジェクトなど、Ajax の核となる概念をわかりやすく説明しています。
5 年前、XML を知らなかったら、あなたは誰も真剣に受け止めてくれない醜いアヒルの子でした。 18 か月前、Ruby は注目の的となり、Ruby を知らないプログラマーはベンチに座ることしかできませんでした。現在、最新のテクノロジーの流行についていきたいなら、目的地は Ajax です。
しかし、Ajax は単なる流行ではなく、まったく新しい言語を学習するほど難しくない、Web サイトを構築するための強力な方法です。
ただし、Ajax とは何かについて詳しく説明する前に、Ajax が何をするのかを理解するために数分時間をとってみましょう。現在、アプリケーションを作成するときは 2 つの基本的なオプションがあります:
· デスクトップ アプリケーション · Web アプリケーション
この 2 つは似ており、デスクトップ アプリケーションは通常 CD で提供され (Web サイトからダウンロードできる場合もあります)、お使いのコンピュータに完全にインストールされます。デスクトップ アプリケーションはインターネットを使用して更新をダウンロードすることがありますが、これらのアプリケーションを実行するコードはデスクトップ コンピューター上にあります。 Web アプリケーションはどこかの Web サーバー上で実行されます。当然のことですが、そのようなアプリケーションは Web ブラウザーを通じてアクセスされます。
ただし、これらのアプリケーションを実行するコードがどこに配置されるかよりも重要なのは、アプリケーションがどのように機能し、アプリケーションと対話するかです。デスクトップ アプリケーションは一般に高速で (インターネット接続を待たずにコンピュータ上で直接実行されます)、美しいユーザー インターフェイス (通常はオペレーティング システムに依存します) を備え、非常に動的です。クリック、選択、入力、メニューやサブメニューを開いたり、移動したりすることができ、基本的に待つことはありません。
一方、Web アプリケーションは最新のトレンドであり、デスクトップでは不可能なサービス (Amazon.com や eBay など) を提供します。ただし、Web の機能により、サーバーが応答するまで待機し、画面が更新されるまで待機し、リクエストが返されて新しいページが生成されるまで待機する必要があります。
これは明らかに単純化しすぎですが、基本的な概念は次のとおりです。ご想像のとおり、Ajax は、デスクトップ アプリケーションの機能と対話性を、進化し続ける Web アプリケーションと橋渡ししようとしています。デスクトップ アプリケーションにあるような動的なユーザー インターフェイスと美しいコントロールを Web アプリケーションでも使用できます。
何を待っていますか? Ajax がどのようにしてぎこちない Web インターフェイスを応答性の高い Ajax アプリケーションに変換できるかを見てみましょう。
古いテクノロジーと新しいトリック
Ajax に関しては、実際にはさまざまなテクノロジーが関与しており、それを柔軟に使用するには、これらのさまざまなテクノロジーを深く理解する必要があります (このシリーズの最初の数記事では、これらのテクノロジーそれぞれについて個別に説明します)。幸いなことに、これらのテクノロジのほとんどについては、おそらくすでによくご存知だと思います。さらに良いことに、これらのテクノロジは学習が簡単で、Java や Ruby などの完全なプログラミング言語ほど難しくないということです。
Ajax アプリケーションで使用される基本テクノロジは次のとおりです。
· HTML は、Web フォームを構築し、アプリケーションの他の部分で使用されるフィールドを決定するために使用されます。
· JavaScript コードは、Ajax アプリケーションを実行するコア コードであり、サーバー アプリケーションとの通信の向上に役立ちます。
·フォームを動的に更新するための DHTML またはダイナミック HTML。 div、span、その他の動的 HTML 要素を使用して HTML をマークアップします。
·ドキュメント オブジェクト モデル DOM は、HTML の構造と (場合によっては) サーバーから返された XML を (JavaScript コードを介して) 処理するために使用されます。
Ajax の定義
ちなみに、Ajax とは、Asynchronous JavaScript and XML (および DHTML など) の略称です。このフレーズは、Adaptive Path (「参考文献」を参照) の Jesse James Garrett によって造られたもので、Jesse が説明しているように、これは頭字語ではありません。
これらのテクノロジーの役割をさらに分析してみましょう。これらのテクノロジーについては今後の記事で詳しく説明しますが、ここではコンポーネントとテクノロジーについてよく理解してください。これらのコードに精通すればするほど、これらのテクノロジの散在的な理解から、これらのテクノロジの真の理解に移行することが容易になります (これにより、Web アプリケーション開発への真の扉も開かれます)。
XMLHttpRequest オブジェクト
理解する必要がある 1 つのオブジェクトは、XMLHttpRequest という最も馴染みのないオブジェクトかもしれません。これは JavaScript オブジェクトであり、リスト 1 に示すように作成は簡単です。
リスト 1. 新しい XMLHttpRequest オブジェクトの作成
<script language="javascript" type="text/javascript">
var xmlHttp = 新しい XMLHttpRequest();
について
は次の記事で詳しく説明しますが、ここでは、これがすべてのサーバー通信を処理するオブジェクトであることを知っておいてください。読み続ける前に、立ち止まって次のことを考えてください。JavaScript テクノロジーは、XMLHttpRequest オブジェクトを通じてサーバーと通信します。これは通常のアプリケーション フローではなく、Ajax の威力が発揮されるのはここです。
一般的な Web アプリケーションでは、ユーザーはフォーム フィールドに入力し、[送信] ボタンをクリックします。次にフォーム全体がサーバーに送信され、フォームを処理するスクリプト (通常は PHP または Java、おそらく CGI プロセスなど) に転送され、スクリプトが完了すると新しいページが送り返されます。このページは、データがすでに入力された新しいフォームを備えた HTML である場合もあれば、確認ページである場合もあれば、元のフォームに入力されたデータに基づいていくつかのオプションが選択されたページである場合もあります。もちろん、サーバー上のスクリプトまたはプログラムが処理して新しいフォームを返すまで、ユーザーは待たなければなりません。画面が空白になり、サーバーからデータが返されるまで待機してから再描画します。そのため対話性が低く、ユーザーはすぐにフィードバックを得ることができないため、デスクトップ アプリケーションとは異なるように感じられます。
Ajax は基本的に、JavaScript テクノロジと XMLHttpRequest オブジェクトを Web フォームとサーバーの間に置きます。ユーザーがフォームに入力すると、データはサーバーに直接送信されるのではなく、JavaScript コードに送信されます。代わりに、JavaScript コードがフォーム データをキャプチャし、サーバーにリクエストを送信します。同時に、ユーザーの画面上のフォームがちらついたり、消えたり、遅れたりすることはありません。つまり、JavaScript コードは、リクエストが行われていることをユーザーが認識することなく、バックグラウンドでリクエストを送信します。さらに良いことに、リクエストは非同期で送信されるため、JavaScript コード (およびユーザー) はサーバーからの応答を待つ必要がありません。したがって、ユーザーは引き続きデータの入力、スクロール、アプリケーションの使用を行うことができます。
次に、サーバーはデータを JavaScript コード (Web フォームのまま) に返し、データの処理方法を決定します。フォーム データを迅速に更新するため、フォームが送信または更新されずに、ユーザーが新しいデータを取得することなく、アプリケーションが即座に完了したような印象を与えます。 JavaScript コードは、ユーザーの介入なしに、受信したデータに対して何らかの計算を実行し、別のリクエストを送信することもできます。これが XMLHttpRequest の威力です。必要に応じて独自にサーバーと対話することができ、ユーザーは舞台裏で何が起こっているかをまったく意識しないこともあります。その結果、デスクトップ アプリケーションに似た、動的で応答性の高い、高度にインタラクティブなエクスペリエンスが得られますが、その背後にはインターネットの力がすべて組み込まれています。
XMLHttpRequest のハンドルを取得するために
JavaScript を追加する
と、他の JavaScript コードは非常に単純になります。実際、JavaScript コードを使用して非常に基本的なタスクを実行します。
· フォーム データの取得: JavaScript コードは、HTML フォームからデータを簡単に抽出し、サーバーに送信できます。
・フォーム上のデータを変更:フィールド値の設定から画像の素早い置き換えまで、フォームの更新も簡単です。
·HTML と XML の解析: JavaScript コードを使用して DOM (次のセクションを参照) を操作し、HTML フォーム サーバーから返された XML データの構造を処理します。
最初の 2 つの点については、リスト 2 に示すように、getElementById() メソッドに精通している必要があります。
リスト 2. JavaScript コードを使用したフィールド値の取得と設定
// 「phone」フィールドの値を取得し、phone という変数に代入します。
var Phone = document.getElementById("phone").value;
// 応答という配列を使用してフォームに値を設定します
。
document.getElementById("order").value = 応答[0];
document.getElementById("address").value = response[1];
ここでは特に注意すべき点はありません。ここではそれほど複雑なことは何もないことに気づいてください。 XMLHttpRequest をマスターしたら、Ajax アプリケーションの残りの部分は、リスト 2 に示すように、少量の HTML を混ぜた単純な JavaScript コードになります。同時に、DOM も少し使用する必要があるので、見てみましょう。
DOM で終わる
最後に DOM、つまりドキュメント オブジェクト モデルがあります。一部の読者にとって DOM は少し怖く感じられるかもしれません。HTML デザイナーはめったに使用しません。また、JavaScript プログラマーですら、高度なプログラミング タスクを完了したい場合を除き、DOM を使用することはめったにありません。複雑な Java および C/C++ プログラムは DOM を多用するため、DOM の学習が難しいと考えられているのかもしれません。
幸いなことに、JavaScript テクノロジでの DOM の操作は簡単で、非常に直感的です。さて、通常は DOM の使用方法を説明するか、少なくともいくつかのコード例を示す必要がありますが、そうすることは誤解を招く可能性もあります。 DOM を無視したとしても、Ajax を詳しく調べることはできます。それが私が取ろうとしているアプローチです。 DOM については今後の記事で再度取り上げますが、今のところは、DOM が必要になる可能性があることを知っておくだけで十分です。 JavaScript コードとサーバー間で XML を渡し、HTML フォームを変更する必要がある場合は、DOM についてさらに詳しく説明します。 DOM がなくても興味深い作業ができるので、今は DOM を脇に置いておいてください。
Request オブジェクトの取得
上記の基本知識を踏まえて、いくつかの具体的な例を見てみましょう。 XMLHttpRequest は Ajax アプリケーションの中心であり、多くの読者には馴染みがないかもしれないので、そこから始めましょう。リスト 1 からわかるように、このオブジェクトの作成と使用は非常に簡単です。待って。
数年前の厄介なブラウザ戦争を覚えていますか?異なるブラウザーで同じ結果が得られるものはありません。信じられないかもしれませんが、規模は小さいとはいえ、こうした戦争は今も続いています。しかし奇妙なことに、XMLHttpRequest はこの戦争の犠牲者の 1 つとなりました。したがって、XMLHttpRequest オブジェクトを取得するには、別のアプローチが必要になる場合があります。以下で詳しく説明します。
Microsoft ブラウザの使用
Microsoft ブラウザ Internet Explorer は、MSXML パーサーを使用して XML を処理します (MSXML について詳しくは、「リソース」を参照してください)。したがって、Internet Explorer と対話する Ajax アプリケーションを作成する場合は、特別な方法でオブジェクトを作成する必要があります。
しかし、それはそれほど単純ではありません。実際には、Internet Explorer にインストールされている JavaScript テクノロジのバージョンに応じて、MSXML の 2 つの異なるバージョンがあるため、それぞれの場合に個別のコードを作成する必要があります。リスト 3 を参照してください。このコードには、Microsoft ブラウザーで XMLHttpRequest を作成するコードが含まれています。
リスト 3. Microsoft ブラウザーで XMLHttpRequest オブジェクトを作成します
。
試す {
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
} キャッチ (e) {
試す {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
} キャッチ (e2) {
xmlHttp = false;
}
、
大丈夫です。この一連の記事を読み終えるまでに、JavaScript プログラミング、エラー処理、条件付きコンパイルなどについてより深く理解できるようになります。
次に、xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
と
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
の 2 行のコードを思い出してください。
これら 2 行のコードは基本的に、あるバージョンの MSXML を使用してオブジェクトを作成しようとし、それが失敗した場合は、別のバージョンを使用してオブジェクトを作成します。悪くないですよね?どちらも成功しない場合は、xmlHttp 変数が false に設定され、コードに問題があることが通知されます。この問題が発生する場合は、別のコードを必要とする Microsoft 以外のブラウザがインストールされていることが原因である可能性があります。
Mozilla および Microsoft 以外のブラウザの処理
Internet Explorer 以外のブラウザを選択する場合、または Microsoft 以外のブラウザ用のコードを作成する場合は、別のコードを使用する必要があります。これは実際には、リスト 1 に示す単純なコード行です:
var xmlHttp = new XMLHttpRequest object;。
この非常に単純なコード行は、Mozilla、Firefox、Safari、Opera、および基本的に任意の形式または形式で Ajax をサポートする Microsoft 以外のブラウザーで XMLHttpRequest オブジェクトを作成します。
これを組み合わせる鍵となるのは
、すべてのブラウザをサポートすることです。 Internet Explorer や Microsoft 以外のブラウザでのみ動作するアプリケーションを書きたい人がいるでしょうか?さらに悪いことに、アプリケーションを 2 回作成することになるでしょうか?もちろん違います!したがって、コードは Internet Explorer と Microsoft 以外のブラウザの両方をサポートする必要があります。リスト 4 にそのようなコードを示します。
リスト 4. 複数のブラウザーをサポートする方法で XMLHttpRequest オブジェクトを作成する
/* Web サーバーと通信するための新しい XMLHttpRequest オブジェクトを作成します */
var xmlHttp = false;
/*@cc_on @*/
/*@if (@_jscript_version >= 5)
試す {
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
} キャッチ (e) {
試す {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
} キャッチ (e2) {
xmlHttp = false;
}
}
@end @*/
if (!xmlHttp && XMLHttpRequest のタイプ != '未定義') {
xmlHttp = 新しい XMLHttpRequest();
ここ
では、@cc_on などのコメントアウトされた奇妙なシンボルを無視してください。これは特別な JavaScript コンパイラ コマンドであり、XMLHttpRequest に関する次の記事で詳しく説明します。このコードの核心は 3 つのステップに分かれています。
1. 作成する XMLHttpRequest オブジェクトを参照する変数 xmlHttp を作成します。
2. Microsoft ブラウザでオブジェクトを作成してみます。
1) Msxml2.XMLHTTP オブジェクトを使用して作成してみます。
2) 失敗した場合は、Microsoft.XMLHTTP オブジェクトを再試行します。
2. xmlHttp がまだ作成されていない場合は、Microsoft 以外の方法でオブジェクトを作成します。
最後に、xmlHttp は、実行されているブラウザに関係なく、有効な XMLHttpRequest オブジェクトを参照する必要があります。
セキュリティについて少し注意してください。
セキュリティについてはどうですか?ブラウザでは、ユーザーがセキュリティ レベルを上げたり、JavaScript テクノロジをオフにしたり、ブラウザのオプションを無効にしたりできるようになりました。この場合、コードはとにかく機能しません。この時点で問題に適切に対処する必要があるため、後で別の記事を書く必要があります (このシリーズは十分長いですよね。読み終わる前に理解できるかもしれませんので、ご心配なく)。ここで、Ajax をマスターするのに適した、堅牢ではあるが完璧ではないコードを書いてみましょう。これについては後ほど詳しく説明します。
Ajax の世界におけるリクエスト/レスポンス
Ajax を導入したので、XMLHttpRequest オブジェクトとその作成方法の基本を理解しました。よく読んだ方は、アプリケーションに直接送信される HTML フォームではなく、サーバー上の Web アプリケーションを処理する JavaScript テクノロジであることをすでにご存知でしょう。
何が足りないのでしょうか? XMLHttpRequest の正確な使い方。このコードは非常に重要であるため、作成するすべての Ajax アプリケーションが何らかの形式で使用することになるため、Ajax の基本的なリクエスト/レスポンス モデルがどのようなものであるかを見てみましょう。
リクエストの作成
新しい XMLHttpRequest オブジェクトができたので、それにいくつかの作業をさせてみましょう。まず、Web ページが呼び出すことができる JavaScript メソッドが必要です (たとえば、ユーザーがテキストを入力するとき、またはメニューから項目を選択するとき)。次のプロセスは、すべての Ajax アプリケーションで基本的に同じです。
1. Web フォームから必要なデータを取得します。
2. 接続先のURLを作成します。
3. サーバーへの接続を開きます。
4. 完了後にサーバーによって実行される関数を設定します。
5. リクエストを送信します。
リスト 5 のサンプル Ajax メソッドは、次の順序で構成されています。
リスト 5. Ajax リクエストの作成
関数 callServer() {
// Web フォームから都市と州を取得します
var city = document.getElementById("city").value;
var state = document.getElementById("state").value;
// 両方のフィールドに値がある場合にのみ続行します
if ((city == null) || (city == "")) return;
if ((state == null) || (state == ""))
// 接続先の URL を構築します
。
var url = "/scripts/getZipCode.php?city=" +escape(city) + "&state=" +escape(state);
// サーバーへの接続を開きます。
xmlHttp.open("GET", url, true);
// 完了時にサーバーが実行する関数を設定します。
xmlHttp.onreadystatechange = updatePage;
// リクエストを送信します。
xmlHttp.send(null);
の
コードの意味は非常に明確です。冒頭のコードでは、基本的な JavaScript コードを使用して、いくつかのフォーム フィールドの値を取得します。次に、PHP スクリプトをリンクのターゲットとして設定します。スクリプト URL の指定方法に注目してください。市区町村と州 (フォームから) は、単純な GET パラメーターを使用して URL に追加されます。
次に、接続が開かれ、XMLHttpRequest が使用されていることを初めて確認します。接続方法(GET)と接続先のURLを指定します。最後のパラメータを true に設定すると、非同期接続が要求されます (これが Ajax の起源です)。 false を使用した場合、コードはリクエストを行った後、サーバーからの応答を待ちます。 true に設定すると、サーバーがバックグラウンドでリクエストを処理している間も、ユーザーはフォームを使用できます (また、他の JavaScript メソッドを呼び出すこともできます)。
xmlHttp の onreadystatechange 属性 (これは XMLHttpRequest オブジェクト インスタンスであることに注意してください) は、サーバーの実行終了後に何をすべきかをサーバーに指示します (これには 5 分または 5 時間かかる場合があります)。コードはサーバーを待機していないため、応答できるようにサーバーに何をすべきかを知らせる必要があります。この例では、サーバーがリクエストの処理を完了すると、updatePage() という特別なメソッドがトリガーされます。
最後に、send() が値 null で呼び出されます。サーバーに送信されるデータ (都市と州) がリクエスト URL に追加されているため、リクエストでデータを送信する必要はありません。このようにしてリクエストが行われ、サーバーはリクエストどおりに動作します。
新しいものが見つからなかった場合でも、これがいかにシンプルで簡単であるかがわかるはずです。 Ajax の非同期の性質を念頭に置くことを除けば、これはすべて非常に簡単です。 Ajax を使用すると、複雑な HTTP リクエスト/レスポンス コードについて心配することなく、美しいアプリケーションとインターフェイスの作成に集中できることに感謝してください。
リスト 5 のコードは、Ajax の使いやすさを示しています。データは単純なテキストであり、リクエスト URL の一部として使用できます。より複雑な POST ではなく GET を使用してリクエストを送信します。追加する XML やコンテンツ ヘッダーはなく、リクエスト本文で送信するデータもありません。言い換えれば、これは Ajax の理想郷です。
心配しないでください。この一連の記事が進むにつれて、事態はさらに複雑になっていきます。 POST リクエストの送信方法、リクエスト ヘッダーとコンテンツ タイプの設定方法、メッセージ内の XML のエンコード方法、リクエストのセキュリティを強化する方法など、できることはたくさんあります。今のところはこれらの困難について心配する必要はありません。基本的なことをマスターするだけで、すぐに Ajax ツール ライブラリの完全なセットを構築できるようになります。
応答の処理
次に、サーバーの応答が来ます。現時点で知っておくべきことは 2 つだけです。
· xmlHttp.readyState プロパティの値が 4 になるまで何もしません。
·サーバーは、xmlHttp.responseText プロパティに応答を設定します。
これらの最初の準備完了状態については、次の記事で詳しく説明します。HTTP リクエストの段階について、おそらく想像以上に詳しく学ぶことができます。今のところ、特定の値 (4) を確認するだけで十分です (次の記事でさらに多くの値について説明します)。 2 番目のポイントは、xmlHttp.responseText プロパティを使用してサーバーの応答を取得することです。これは非常に簡単です。リスト 6 のメソッド例は、リスト 5 で送信されたデータに基づいてサーバーから呼び出すことができます。
リスト 6. サーバー応答
関数の処理 updatePage() {
if (xmlHttp.readyState == 4) {
var 応答 = xmlHttp.responseText;
document.getElementById("zipCode").value = 応答;
}
コード
も難しくも複雑でもありません。サーバーが呼び出すのを待ち、準備ができたら、サーバーから返された値 (ここではユーザーが入力した都市と州の郵便番号) を使用して別のフォーム フィールドの値を設定します。ユーザーがボタンを押すことなく、突然、郵便番号を含む zipCode フィールドが表示されます。これは、先ほどデスクトップ アプリケーションとして説明したものです。高速な応答、ダイナミックな感覚などはすべて、小さな Ajax コードのおかげです。
注意深い読者は、zipCode が通常のテキスト フィールドであることに気づくかもしれません。サーバーが ZIP エンコーディングを返すと、updatePage() メソッドはそのフィールドの値を都市/州の ZIP エンコーディングで設定します。これはユーザーがオーバーライドできます。これは 2 つの理由で行われます。1 つは例を単純にするため、もう 1 つはサーバーから返されたデータをユーザーが変更できるようにしたい場合があることを示すためです。これら 2 つのことに留意してください。これらは優れたユーザー インターフェイスのデザインにとって重要です。
Web フォームに接続するには
他に何がありますか
?実際にはほとんど残っていない。 1 つの JavaScript メソッドは、ユーザーがフォームに入力した情報を取得してサーバーに送信し、もう 1 つの JavaScript メソッドは応答をリッスンして処理し、応答が返されたときにフィールドの値を設定します。これらすべては実際には、プロセス全体を開始する最初の JavaScript メソッドの呼び出しに依存しています。最も明白な解決策は HTML フォームにボタンを追加することですが、それは 2001 年のことですよね。リスト 7 のような JavaScript テクノロジーを使用してみましょう。
リスト 7. Ajax プロセスの開始
<form>
<p>都市: <input type="text" name="city" id="city" size="25"
onChange="callServer();" /></p>
<p>状態: <input type="text" name="state" id="state" size="25"
onChange="callServer();" /></p>
<p>郵便番号: <input type="text" name="zipCode" id="city" size="5" /></p>
</form>
これがかなり一般的なコードのように思われる場合、その通りです。ユーザーが都市または州のフィールドに新しい値を入力すると、callServer() メソッドがトリガーされ、Ajax の実行が開始されます。何が起こっているのか少しは理解できましたか?まあ、それだけです!
結論
これで、おそらく最初の Ajax アプリケーションを書き始める準備ができており、少なくともリソース内の記事を注意深く読みたいと思っていますよね?ただし、これらのアプリケーションがどのように動作するかについての基本的な考え方と、XMLHttpRequest オブジェクトについての基本的な理解から始めることができます。次回は、このオブジェクトをマスターし、JavaScript とサーバー間の通信の処理方法、HTML フォームの使用方法、DOM ハンドルの取得方法を学びます。
ここで、Ajax アプリケーションがどれほど強力であるかを考えてみましょう。ボタンをクリックするか、フィールドに入力するか、コンボ ボックスからオプションを選択するか、画面上でマウスをドラッグすると即座に応答する Web フォームを想像してください。非同期が実際に何を意味するのか、サーバーがリクエストに応答するのを待たずに実行されている JavaScript コードについて考えてみましょう。どのような問題が発生しますか?どのような分野に参入するのでしょうか?この新しいアプローチを考慮すると、プログラミング時にフォームのデザインをどのように変更すればよいでしょうか?
これらの問題に少し時間を費やすと、まったく理解できないアプリケーションにコードを単に切り取ったり貼り付けたりする以上のことが得られるでしょう。次回は、これらの概念を実践し、アプリケーションをこのように動作させるために必要なコードを詳しく説明します。したがって、今のところは、Ajax が提供する可能性を楽しんでください。