PHPでAjax通信を使う方法を現役エンジニアが解説【初心者向け】

初心者向けにPHPでAjax通信を使う方法について現役エンジニアが解説しています。Ajax(エイジャックス)通信とは、JavaScriptなど様々な技術を組み合わせて、クライアントとサーバ間を非同期で通信するモデルのことです。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営する教育×テクノロジーのWebメディアです。初心者でもすぐ勉強できる記事が2,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のプログラミングで挫折しない学習方法を動画で公開中

実際に書いてみよう

実際に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では、初心者でも最短4週間で、PHPやフレームワークのLaravelを使ってWebアプリケーション開発を習得できる、オンラインブートキャンプを開催しています。

また、現役エンジニアから学べる無料体験も実施しているので、ぜひ参加してみてください。