【jQuery / ajax】非同期通信について①

はじめに

こんにちは、技術部のTです。
今回は、「ajax」や「非同期通信」の言葉の意味や使用されている技術、仕組みについて書かせていただきます。
具体的な使い方に関しては、私が次回ブログを担当する際に書かせていただきます!




目次

  1. はじめに
  2. 非同期通信とは
  3. ajaxとは
  4. ajaxの仕組み
  5. おわりに

参考




1. 非同期通信とは

非同期通信とは、

2 人以上の通信者の間で、それぞれが都合の良いタイミングでメッセージを受信し処理する通信方式です。ソフトウェアが非同期に通信する場合、プログラムは別のソフトウェア(サーバーなど)から情報を要求し、応答を待っている間、他のことをし続けることができます。(mdn web docsより)

です。

同期通信とは違い、サーバーへのリクエスト中でもページ全体の処理が止まることが無いため待ち時間が発生しません。つまり、リクエストしてレスポンスが来るまでの間に、ユーザーは他の作業を継続して行うことができるのです。
身近なところでいうと、グーグルマップやSNSなどに非同期通信が活用されています。




2. ajaxとは

ajaxとは、「Asynchronous JavaScript XML」の略です。各単語の意味は以下の通りです。

  • Asynchronous : 非同期で通信を行う方法
  • JavaScript : 動的なWebページを作成する際に用いられるプログラミング言語
  • XML : 文章の構造やタイトル、文字の修飾情報を記述するためのマークアップ言語

つまり、JavaScriptとXMLの技術を活用し、非同期通信を実行することです。使用されている技術をもう少し詳しく説明します。

XMLHttpRequest

XHRオブジェクトは、サーバーと対話するために使用されます。ページ全体を更新する必要なしに、データを受け取ることができます。これでユーザーの作業を中断させることなく、ウェブページの一部を更新することができます。(mdn web docsより)

XHRオブジェクトとは、JavaScriptにあらかじめ定義されているオブジェクト(組み込みオブジェクト)のことです。つまり、JavaScriptを用い、ブラウザからサーバーへHTTPリクエストを送信したり、サーバーからのHTTPレスポンスを受信したりします。

DOM

DOMオブジェクトは、ウェブページを表す HTML のような文書の構造をメモリー内に表現することで、ウェブページとスクリプトやプログラミング言語を接続するものです。(mdn web docsより)

DOMオブジェクトも、JavaScriptの組み込みオブジェクトです。つまり、JavaScriptからHTML内のどこに何を追加・削除するかを指定できます。

Json

Jsonは、データ記述言語の1つである。軽量なテキストベースのデータ交換用フォーマットでありプログラミング言語を問わず利用できる。(Wikipediaより)

軽量なことに加え、人間にとってもマシンにとっても扱いやすい点が特徴です。Json形式でのデータ記述の簡単な例としては以下の通りです。

				
					```
{
    "id"       : "001",
    "name"     : "鈴木",
    "birthday" : "2000-01-01",
    "address"  : {
        "zip"            : "000-0000",
        "prefectures"    : "沖縄県",
        "municipalities" : "那覇市",
    },
    "contact"  : {
        "tel"  : "000-0000-0000",
        "mail" : "test@test.com",
    }
}
```

				
			




3. ajaxの仕組み

上記の技術をどのように組み合わせて、ajaxでの非同期通信を行っているか説明します。

  1. イベント発生
    • ユーザーがボタンなどをクリックし処理が発生します。
  2. リクエスト送信(ユーザーは操作可能
    • サーバーへ非同期でリクエストを送ります。データを渡したい場合は、「"キー"+"値"」で配列やオブジェクトを作成して設定します。
  3. サーバー側で処理実行(ユーザーは操作可能
    • リクエスト内容をサーバー側で処理(DBへの追加、更新、削除など)します。
  4. レスポンスを返す(ユーザーは操作可能
    • jsonやxml形式にし処理結果を返します。
  5. レスポンス内容に応じページ更新やアラート処理
    • レスポンス内容に応じて、DOM操作でページの一部を更新したり、アラートやダイアログを表示したりします。




4. 終わりに

最後までお読みいただきありがとうございます。
「ajaxでの非同期通信」に用いられている技術や仕組みについて書かせていただきました。
初めてajaxを使おうとした際、とても混乱したことを覚えています。このブログで少しでも理解が深まれば嬉しいです!
冒頭にも書きましたが、具体的な書き方・使い方に関しては、私が次回ブログを担当する際に書かせていただきます!

スーパーソフトウエアの採用情報

あなたが活躍できるフィールドと充実した育成環境があります

blank
blank