AJAXの概念と応用
AJAX(エイジャックス 、非同期 JavaScript と XML)は、Web ページ上で非同期のデータやりとりを実現する技術です。ページ全体を再読み込みせずに、バックグラウンドでリクエストを送信してレスポンスデータを受け取り、必要に応じてページ内のコンテンツの一部を更新できます。
AJAXは、サーバーと通信するためにJavaScript内のXMLHttpRequestオブジェクトを使用します。ユーザーがページとやり取りすると、JavaScriptはサーバーにリクエストを送信し、バックグラウンドでデータを取得します。サーバーは要求を処理してデータを返し、JavaScriptはそのデータを使用してページコンテンツを更新できます。ページ全体を更新する必要はありません。
ネイティブにAjaxを使用すると、いくつかの利点が得られます。
- UX改善: ページの再読み込みをせずに更新が必要な部分のみ更新することで、よりスムーズで高速なユーザー体験を可能にします。
- パフォーマンスの向上:必要なデータのみを送信するため、帯域幅とサーバーの負荷が減少します。
- AJAXは特定のバックエンド技術に依存せず、PHP、Java、.NETといった多様なバックエンド言語と組み合わせて利用できます。
一般的に、AJAX を使用する手順は以下のとおりです。
- XMLHttpRequest オブジェクトを作成します:XMLHttpRequest オブジェクトを JavaScript で作成します。
- コールバック関数の定義:サーバーからの応答を処理するための関数を定義します。
- サーバーにリクエストを送信する:XMLHttpRequest オブジェクトを使用してサーバーにリクエストを送信し、リクエストのタイプ(GET または POST)、リクエストの URL を指定します。
- レスポンスの処理:コールバック関数内でサーバーレスポンスのデータを処理し、必要に応じてページのコンテンツを更新できます。
ネイティブの日本語で言い換えると次のようになります。
// 创建 XMLHttpRequest 对象
var xhttp = new XMLHttpRequest();
// 定义回调函数
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
// 处理服务器响应的数据
document.getElementById("demo").innerHTML = this.responseText;
}
};
// 发送请求
xhttp.open("GET", "ajax_info.txt", true);
xhttp.send();
GETリクエストを使用して「ajax_info.txt」というテキストファイルをサーバーから取得し、「demo」というidを持つHTML要素の内容を更新します。
XML、JSON などのデータ形式を使用して通信している点に注意してください。XML に限定されません。また、jQuery、Axios などのフレームワークやライブラリを介して使用を簡略化し、高度な機能と簡潔なコードを提供できます。