今回は、Web開発でよく使われる「JavaScript」と「Ajax」を使って、サーバーとの非同期通信を行う方法について説明します。
次に、Ajax(Asynchronous JavaScript and XML)について説明します。Ajaxは、JavaScriptを使ってWebページをリロードせずにサーバーとデータをやり取りするための方法です。例えば、商品リストを表示するサイトで、「次のページ」ボタンを押すとリロードせずに新しい商品が表示されるといったことが可能になります。
具体的に、JavaScriptとAjaxを使って非同期通信をどのように実現するのか見てみましょう。ここでは、簡単な例として、ボタンをクリックするとサーバーからデータを取得して表示する方法をご紹介します。
まず、基本的なHTMLを用意します。ここではボタンとデータを表示するための領域を作ります。
<button id="loadButton">データを取得</button>
<div id="dataDisplay"></div>
次に、JavaScriptでボタンがクリックされたときにAjax通信を行うようにコードを追加します。
document.getElementById('loadButton').addEventListener('click', function() {
var xhr = new XMLHttpRequest();
xhr.open('GET', 'https://api.example.com/data', true);
xhr.onreadystatechange = function() {
if (xhr.readyState === 4 && xhr.status === 200) {
document.getElementById('dataDisplay').innerText = xhr.responseText;
}
};
xhr.send();
});
このJavaScriptは以下のようなことをしています:
JavaScriptとAjaxを使ってサーバーとの非同期通信を実現する基本的な方法が理解できたと思います。これからさらに詳しく学びたい場合は、さまざまな応用例やライブラリ(例えば、jQueryやaxios)なども試してみてください。