AJAXについて
下記著書より引用、抜粋します。
ブラウザのJavaScript環境にはXMLHttpRequestオブジェクトやFetch APIといった、サーバーと通信をするためのオブジェクトが存在します。
AJAXはこれらの通信オブジェクトを活用したユーザーのシステム操作を快適にするための手法です。
AJAXでは普段行っている通信とページ全体の再読み込みをせずに、サーバーとの通信や表示の更新をJavaScriptで独自に行います。
その結果、ユーザーが待たずに操作できる「非同期の動作」を実現できるのです。
中略
AJAX通信を終えた後、JavaScriptによりDOM操作を行うことで、レスポンスとして返ってきたデータを使用してページを更新することができるのです。
レスポンスについてはHTMLをはじめとした様々なデータを受け取ることができますが、多くの場合JSONやXMLという構造化されたテキストデータです。
これにより画面表示内容のHTMLをそのまま返す場合より、情報量が少なく通信が早くなります。
JSONについて
JSONはJavaScript Object Notationの略称で、名前の通りJavaScriptのObjectの表現によく似た構文です。
例えば、個人のプロフィール情報をJSONで表現すると以下のような文字列になります。
JSONのような値(バリュー)とそれを識別する情報(キー)がセットになっている構造のデーターをキー・バリュー型の情報といいます。 「name」がキー、「東芝太郎」がバリューにあたります。JSON内の文字列は、必ずダブルクォーテーションで囲む必要があります。AJAXを体験してみましょう
JSONを取得してみよう。
まずはコマンドでフォルダを作成、移動します。次にJSONファイルを作成してみましょう。今回は下記のように作ってみました。JSONファイルの拡張子は「.json」です。作成したら先ほどのAJAXフォルダに格納しておきます。
以前に勉強し導入したhttp-serverコマンドを実行していきます。
そして http://192.168.100.102:8080/hello.jsonもしくは http://127.0.0.1:8080/hello.jsonをブラウザのアドレスバーに入力します。
するとブラウザにJSONファイル内容が取得できて表示されます。
ここでは用意したJSONがURLから取得できることが確認できました。
AJAXを実行してみましょう。
JavaScriptからhello.jsonを取得してDOMを更新して表示させてみましょう。
同じくターミナルから 先ほどのhttp://127.0.0.1:8080/index.htmlとブラウザのアドレスバーに入力してみます。
しっかりとJavaScriptからJSONファイルの内容を読み取り、そしてDOMに反映させることができていますね。
解説
async function display(){ | displayというメソッドをまず定義しています。asyncは後に出てくるawaitにおいて、それを呼び出している関数に付けます。 |
const response = await fetch(‘hello.json’); | サーバーへの通信を行うfetchというメソッドを実行し、その結果を変数responseに代入しています。awaitをつけるのは、通信のような「待ち」が発生する処理につけます。 |
const data = await response.json(); | fetchでのレスポンスとして受け取った情報をjsonメソッドでJSONをObjectに変換し、変数dataに代入しています。 |
const messageElm = document.getElementById(‘message’); | iD=”message”を取得し、それを変数messageElmに代入しています |
messageElm.innerHTML = data.message; | 最後にdataからJSONデーターのmessageを取り出し、ブラウザに表示しています。 |
この本から引用、参考にして学び、完成させることができました。しかし、ここではプログラミング初心者の私が詳しく解説することは、おこがましく、難しく出来ません(ToT)
その点、この本では丁寧な解説が載っていますので、解説とともにコードを書き、完成させればより深く学ぶことができます(^.^)、実際、初心者の私でもわかりやすかったです。身に付け消えないスキルが3,000円弱ならコスパよく、買っておいてよかったと満足してます。