LoginSignup
1
3

More than 3 years have passed since last update.

初学者がアウトプットするAjaxの話

Last updated at Posted at 2020-05-16

Ajaxについてわかりやすくまとめてみた!

初学者ですがまとめてみました。
至らぬ点、間違っている点がございましたらご指摘くださいませ。

Ajax通信の登場人物

クライアントくん
サーバーくんとは仲良しだけどいつも要求ばかりしている、
サーバーくんと二人きりでお話しすると変な間が入ってちょっと気まずい。

サーバーくん
クライアントくんと仲良し!けど二人きりだと変な間が入る
いつもクライアントくんの言うことばかり聞いてる。
XMLHttpRequestと言う道具を使ってJavascriptくんと文通している。

変な間
クライアントくんがサーバーくんに要求をしてから要求の結果が返ってくるまでの間。
謎の力によってクライアントくんは動けなくなる。

JavaScriptくん
クライアントくんともサーバーくんとも仲良し!!
3人でいると変な間が入らず、めちゃくちゃ会話が弾む。
実はクライアントくんの行動を監視している。

Ajaxとは

Ajaxとは「Asynchronous JavaScript + XML」の略
Asynchronousとは、非同時性の、非同期の、と言う意味です。
XMLとは、XMLHttpRequestと言うAPIの略です。
要するに、「JavascriptとXMLファイルによってサーバーと非同期通信を行う」ということです。

同期・非同期とは

そもそも同期・非同期って何だろう?

クライアントくんはサーバーくんにいつも要求ばかりしています。
クライアントくん) ねぇねぇサーバーくん、美味しい焼肉屋を探したいから食べ○グのページを見せて!

サーバーくん)  本当にクライアントくんは食いしん坊だなぁ、わかったよ、ちょっと待っててね! 

変な間・・・・・ クライアントくん(う、動けぬ、、、)

サーバーくん) はい!これが食べ○グのページだよ!

クライアントくん) わぁ〜、ありがとう!

クライアントくんがサーバーくんに要求(今回は食べ○グのページを見せて)を言ってから変な間があいて食べ○グのページが返ってきました。

クライアントがHTTPリクエストを送ってから、HTTPレスポンスがサーバーから返ってくる間待ち続ける通信方式を同期と言います。

逆に非同期は、HTTPリクエストを送ってからHTTPレスポンスがサーバーから返ってくる間、クライアントが待つことなく動き回れることを言います。

XMLHttpRequestとは

クライアントくん(ウェブブラウザ)上で動くjavascriptくんが直接サーバーくんとのやりとりを行う際に使用するオブジェクトです。
データ形式はXML形式に限りません。(jsonでも可能です)
javascriptくんはサーバーくんとのやり取りで得たデータをクライアントくんに渡すことができます。

結局Ajaxで何ができるの?

クライアントくん) ねぇねぇサーバーくん、兵庫県にある焼肉屋さんの一覧を見せて!

サーバーくん)  本当にクライアントくんは食いしん坊だなぁ、わかったよ、ちょっと待っててね! 

JavaScriptくん ) (シュバババババ)僕がサーバーくんと一覧情報のやり取りをしてるから、クライアントくんは好きに動いてていいよ!

クライアントくん) Javascriptくんありがとう! 謎の力が発動せず自由に動けるよ〜(カーソルビュンビュン)

サーバーくん) JavaScriptくんこれが一覧だよ!

JavaScriptくん )  ありがとうサーバーくん、json形式でくれたんだね!これを見やすく加工してクライアントくんに届けるぞー

クライアントくん) わぁ〜、ありがとう!

JavaScriptくん ) クライアントくんの行動(クリックやスクロール)に合わせて必要な情報があれば取ってくるぞー

JavaScriptくんが必要な情報(今回は焼肉屋さんの一覧)を取得してくれたことで、クライアントくんが投げるHTTPリクエストが必要なくなり変な間が発生しませんでした。
また、HTTPリクエストは必要な情報以外(HTMLやCSS)もセットで持ってきてしまうため、
サーバーくんに負荷がかかってしまいます。

Ajaxを使うことで必要な情報を負荷をかけず、変な間も発生させずに持ってくることができました!
すごいAjax!

終わりに

浅い知識のままアウトプットに及んだゆえ、至らぬ点が多々あったと思います。
気になる点があれば、ご遠慮なくお申し付けください。

スキルは可変、日々精進。
これからも頑張っていきます。

1
3
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3