PHPでAjax通信を使う方法を現役エンジニアが解説【初心者向け】
初心者向けにPHPでAjax通信を使う方法について現役エンジニアが解説しています。Ajax(エイジャックス)通信とは、JavaScriptなど様々な技術を組み合わせて、クライアントとサーバ間を非同期で通信するモデルのことです。
テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日 調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名 調査手法:インターネット調査
今回は、PHPでAjax通信を使う方法について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。
PHPについてそもそもよく分からないという方は、PHPとは何なのか解説した記事を読むとさらに理解が深まるでしょう。
なお本記事は、TechAcademyのオンラインブートキャンプPHP/Laravel講座の内容をもとに紹介しています。
今回は、PHPに関する内容だね!
どういう内容でしょうか?
PHPでAjax通信を使う方法について詳しく説明していくね!
お願いします!
Ajaxとは
Ajax(エイジャックス)とは、「Asynchronous JavaScript + XML」の略称でJavaScriptなど様々な技術を組み合わせて、クライアントとサーバ間を非同期で通信するモデルのことです。
Ajax通信がまだ行われていなかった時代は、データの更新などを行う場合には別のページを読み込むか再読込みを行う必要がありました。
地図アプリで例えると、「現在地から少し離れた場所を地図で表示するには、ページの更新を行う」などの手間が発生します。
Ajax通信を行うことで、データの更新を行うためにページの再読み込みなどの処理が必要なくなり、動的に表示内容を変更できるようになりました。
Ajax通信を使用しているアプリケーションでは、GoogleMapなどが代表的で、地点の移動を行うと新しい地図の表示をページの再読み込みなどをしなくとも動作します。
Ajax通信を使う方法
Ajax通信で送られてきたデータをPHPで受け取るためには、
- HTTPのリクエストメソッドがGETの場合は「$_GET」
- HTTPのリクエストメソッドがPOSTの場合は「$_POST」
という2つのスーパーグローバル変数を使用して値を受け取ることができます。
[PR] PHPを学んで未経験からWebエンジニアを目指す方法とは
実際に書いてみよう
実際にAjax通信で送られてきたデータをPHPプログラムで受け取ってみましょう。
<?php // ①Ajax通信でPOSTされたデータを受け取る $postData1 = $_POST['postData1']; $postData2 = $_POST['postData2']; // ②受け取ったデータを配列に格納 $result = array("postData1の値:". $postData1, "postData2の値:". $postData2); // ③ヘッダーの設定 header('Content-type:application/json; charset=utf8'); // ④JSON形式にして返却 echo json_encode($result); ?>
上記の例では、Ajax通信で送られてきたデータを受け取り、加工し、JSON形式で送信元に返却しました。
①では$_POSTを使用して値を受け取り、[]の中は送信元が設定したキー名を指定します。
②では受け取ったデータ返却用のデータとして加工しました。
③ではJSON形式で返却するためにヘッダーを設定しています。
④ではJSONにエンコードして返却しました。
執筆してくれたメンター
平野大輝(ひらのだいき)
スキル:PHP・Java・JavaScriptを用いて様々なアプリを開発するWebエンジニア。 |
内容分かりやすくて良かったです!
ゆかりちゃんも分からないことがあったら質問してね!
分かりました。ありがとうございます!
TechAcademyでは、初心者でも、PHPやフレームワークのLaravelを使ってWebアプリケーション開発を習得できる、オンラインブートキャンプを開催しています。
また、現役エンジニアから学べる無料体験も実施しているので、ぜひ参加してみてください。