【Javascript】AJAXを使ってJSONを読み込んで表示する
AJAXを用いて同じサーバー上のJSONファイルを読み込んで表示させようと思います。
今から15年前くらいにAJAX技術が登場した時に触ったことがあるのですが、その頃に比べてずいぶん少ないコードで実現できるんだなと素直に驚きました。当時はXMLHttpRequestオブジェクトを使って長々と(たぶん50行以上)書いていたものですが、async/awaitの登場からでしょうか、今ではものの数行で書けてしまうんですね。
JSON(test.json)
JSONファイルは以下のように単純なものを用意しました。
{
"message": "Hello Ajax"
}
HTML(index.html)
こちらがHTML。VSCodeから自動生成されたものにちょっと加えただけです。
<!DOCTYPE html>
<html lang="jp">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>AJAX Test</title>
</head>
<body>
<div id="message"></div>
<script src="main.js"></script>
</body>
</html>
Javascript(main.js)
以下がJavascriptのコードです。functionの前のasyncを付けることで非同期通信処理となり、awaitでその結果待ちというわけです。(昔は結果待ちのコールバック関数を指定していました)
async function getMessage(){
const response = await fetch('./test.json');
const data = await response.json();
const element = document.getElementById('message');
element.innerHTML = `<h1>${data.message}</h1>`;
}
getMessage();
実行結果
以下がブラウザで表示させた結果です。ちゃんとJSONファイルを読み込むことが出来ました。
スポンサーリンク
