Ajax(Asynchronous JavaScript + XML)は、
JavaScriptから非同期でサーバーへ通信を行い、データを取得出来る技術。
動的にWebページの内容を書き換える事が出来る。
ページ(html)の一部しか変わらないのに、全部のhtmlデータを取ってきては画面に表示しているので、
とても効率が悪く処理に時間が掛かる。
流れとしては、
ボタンが押されたらJavaScriptでAjax通信を行う
↓
Ajax用処理ファイル.phpをHTTPリクエスト
↓
サーバー側で、Ajax用処理ファイル.phpを取得し、ブラウザへHTTPレスポンス
↓
JavaScriptでデータを取得し、そのデータを元にhtmlを書き換える。
要約すると、
ページ全部(HTML)ではなく、一部のHTMLだけを取得し、
それを元にJavaScriptでページ(html)を一部書き換えるだけの処理で良くなる為、
処理が高速で効率がいい。これがAjax通信を活用するメリット。
「同期処理」「非同期処理」の違いとして、
「同期処理」はその処理が終わるまで次の処理は進まない。
「非同期処理」はその処理の終了を待たずに次の処理へ進んでいく処理方法のことをいう。
JavaScriptでは、非同期で処理される関数の主なものには、Ajax通信の関数の他、setTimeout関数などがある。
非同期な処理が完了された時に何らかの処理をしたい場合には「コールバック」を使う。
コールバックには引数として関数を渡せる。渡す関数のことをコールバック関数という。