• ブログTOP
  • AI・ディープラーニング
  • AR
  • VR
  • WEBサイト
  • WEBマーケティング
  • SEO
  • SNS
  • その他
  • お問い合わせ

ALAKI株式会社

COZIKEEいつまでも使えるTech情報発信ブログ

Ajax処理を実装しよう!(フロントエンド編)

2017年9月11日

  • このエントリーをはてなブックマークに追加

こんにちは、Webプログラマの篠田です。

大阪ではまだ残暑が残り、日中は暑い日が続いていますが、朝と夕方はだいぶ涼しくなり、秋の気配が日に日に増しているのを感じるようになりました。

今回は、フロントエンド側の開発では利用を避けることができなくなった、Ajax(エイジャックス)処理をご紹介していきます。

この記事の目次

  • 1 Ajaxとは
  • 2 jQueryを使ったAjax処理
  • 3 まとめ

Ajaxとは

Webのデータ通信は、ブラウザ上に表示された「ボタン」をクリックして、「画面移動(URLが変わる状態)」をすることで、次の処理にデータを渡すというのが一般的でした。

ですが、「画面移動」特有のチラツキや読み込みの遅さなど、ユーザーの体験を損なう要素が多くありました。
※この処理を「同期処理」といいます。

そこで、「画面移動」を少なくして、1つの画面で「登録」や「検索」などの処理(サーバー間の通信)を行えるようにして、スムーズに操作できるようにした処理方法が出てきました。
※この処理を「非同期処理」といいます。

その「非同期処理」を実現するために利用するのが「JavaScript」と「XML」でした。

jQueryを使ったAjax処理

具体的にどのようにして、「非同期処理」を実現するのかをご紹介します。

最も分かりやすい手順として「jQuery」を利用した「Ajax処理」を見ていきます。

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
$.ajax({
async: true,// 非同期処理
url: 'http://localhost/getName.php',
type: "POST",
dataType: 'json',
data: {
''user_id': 21
}
}).done(function (data) {
console.log(data.name + "を取得しました。");
}).fail(function () {
console.log("処理に失敗しました。");
});

※事前に「jQuery」の読み込みを行っています。

この処理は、「名前をAjaxを使って取得する」簡易なプログラムです。

各要素の使い方を見ていきます。

同期?それとも非同期?

「async(エイシンク)」オプションで、「非同期(データが戻ってくるのを待たない)」でデータ通信を行うか、「同期(データが戻ってくるまで待つ)」かを指定します。

初期値は「非同期」のため「async: true」です。

「同期処理」をする場合は「async: false」とします。

いったい、どういった通信処理をしているのかを、把握しておくことが重要です。

POSTで送るかGETで送るかそれが問題

Webでのデータ通信は「POST」か「GET」の2種類があります。

「Ajax」でも同じように、どういった通信方法で、データを送るのかというのを決めます。

「type」オプションを使い「http://localhost/getName.php」というプログラムに、どのような方法でデータを送信するのかを指定します。

「POST」か「GET」かでデータの受け取り側である「getName.php」の内容が変わってきますので、注意が必要になります。

戻り値は「json」でよろしく

「dataType」オプションでは、サーバー側で処理された結果を、JavaScript側ではどういった形式で受け取るのかという指定をします。

よく使われるのは「json」形式での受け取りです。

その他に「text」形式での受取や「html」、「xml」などがあります。

指定がなければ、自動で推測してくれますが、期待通りの処理が行われない場合もあるので、明示しておくのが混乱がなくてよいです。

送信データを設定する

データの送り先と、データの送る形式が決まれば、次に決めるのは「データの内容」です。

データは、配列型で送ります。

形式は「ヘッダー名 : 値」となり、「ヘッダー名」は受け取り側プログラムの添字にもなります。

例)date : {‘user_id’: 21} → $_POST[‘user_id’]

上記のようにPHPの「$_POST」の添字として取得することができます。

戻り値を受け取ろう

サーバー側で処理された結果で「成功」していれば、「.done(function (data)」の中が実行されます。

「done(function()」の第1引数「data(任意の変数名)」は「サーバーからの戻り値」です。

この中に「json」形式のユーザー名が保存されています。

「dataType」で指定した形式で、戻ってきた値を必要に応じた形で処理をします。

Ajaxでの結果を元にした処理は、すべて「done」内で行います。

失敗したときの処理も忘れずに

サーバー側でエラーが発生した時は「done」が処理されず「fail」が呼び出されます。

「fail」がなければ、エラー発生時のフロントエンド側の処理がなくなってしまいます。

「console.log」などで、エラーが発生していることを把握できるような処理を追加すると、対応がしやしくなります。

まとめ

駆け足で、フロントエンド側のAjaxについて、ご紹介しました。

次回は、サーバー側で動作する「getName.php」部分をご紹介してAjax処理の全体を作っていきたいと思います。

  • ツイート
  • このエントリーをはてなブックマークに追加

You may also like...

  • 14800708_xl

    Webサイトに突然[email protected]と出て困っている方はいらっしゃいませんか?

    21 10月, 2016

  • laravel_js

    Laravel Mix使用時にJavascriptの関数が未定義(not found)になるときの対処法

    2 12月, 2022

  • PAK_PHPS9V9A6862_TP_V

    LaravelのクエリビルダでFROM句にサブクエリを利用する方法

    10 4月, 2019

  • Next story knockout.js入門編「WordPressのフォームプラグインにリアルタイムバリデーションを実装する」
  • Previous story RETINAディスプレイ対応!SVGの使い方からアニメーションまで徹底解説!

弊社サービス

MONJI+ MUGHEN ALAKI クラウド型受発注システム さよなら過去のAR。WebARがイベント集客に革命を起こします。

運営会社

ALAKI株式会社 ALAKI株式会社採用サイト

人気の記事

  • alaki1462_A_businessman_who_works_logically_1da80a2e-c297-4911-bdd6-feba0ebf1357

    仕事術

    【書籍要約】数学的な仕事術大全

    4 11月, 2024

  • fv-main-img-min

    空間コンピューティング

    世界初!「空間コンピューティング」を専用端末不要、スマホのWebブラウザのみで実現する『Web XR Site』を公開しました

    22 6月, 2023

  • Virtual reality players isometric vector illustration. VR UI and navigation. Futuristic digital technology. Virtual screen. Mixed reality 3d concept. Person in VR headset. Web banner idea

    AR

    Appleから新世代MRグラス「Vision Pro」の登場 – デジタルと現実世界が融合する新時代へ

    6 6月, 2023

  • AWE

    未分類

    ARアプリ『MUGHEN』が世界最大のAR/VRアワード「AWE」のファイナリストに選出されました!

    26 5月, 2023

  • python-logo-master-v3-TM

    pyhotn / 業務効率化

    「SwinIR」で高画質化した画像を pythonを使用して一括で元のサイズに戻す方法

    2 2月, 2023

カテゴリー

  • AI・ディープラーニング
  • AR
  • BtoB
  • CMS
  • Git
  • Google AdWords
  • gulp
  • Javascript
  • Laravel
  • Photoshop
  • Pug
  • pyhotn
  • Sass
  • SEO
  • SNS
  • Twitter広告
  • VR
  • Web3.0
  • WEBサイト
  • WEBマーケティング
  • YouTube
  • コーディング
  • システム開発
  • スマートフォンサイト
  • セキュリティ
  • セミナー
  • その他
  • ツール
  • デザイン
  • ベトナムレポート
  • 仕事術
  • 未分類
  • 業務効率化
  • 空間コンピューティング
  • 色

アーカイブ

  • 2024年11月
  • 2023年6月
  • 2023年5月
  • 2023年2月
  • 2023年1月
  • 2022年12月
  • 2022年11月
  • 2022年10月
  • 2022年9月
  • 2022年2月
  • 2021年12月
  • 2021年9月
  • 2021年7月
  • 2021年6月
  • 2020年10月
  • 2020年9月
  • 2020年8月
  • 2020年6月
  • 2019年6月
  • 2019年5月
  • 2019年4月
  • 2019年3月
  • 2019年2月
  • 2019年1月
  • 2018年12月
  • 2018年11月
  • 2018年9月
  • 2018年8月
  • 2018年7月
  • 2018年6月
  • 2018年5月
  • 2018年4月
  • 2018年3月
  • 2018年2月
  • 2018年1月
  • 2017年12月
  • 2017年11月
  • 2017年10月
  • 2017年9月
  • 2017年8月
  • 2017年7月
  • 2017年6月
  • 2017年4月
  • 2017年3月
  • 2017年2月
  • 2017年1月
  • 2016年12月
  • 2016年11月
  • 2016年10月
  • 2016年9月
  • 2016年8月
  • 2016年7月
  • 2016年6月
  • 2016年5月
  • 2016年4月
  • 2016年3月
  • 2016年2月
  • 2016年1月
  • 2015年12月
  • 2015年11月
  • 2015年10月
  • 2015年9月
  • 2015年7月
  • 2015年3月
  • 2015年2月
  • 2015年1月
  • 2014年12月
  • 2014年11月
  • 2014年10月
  • 2014年9月
  • 2014年8月
  • 2014年7月
  • 2014年6月
  • 2013年10月
  • 2013年9月

Facebook

お問い合わせ

お問い合わせ

人気の記事

  • 【書籍要約】数学的な仕事術大全
  • 世界初!「空間コンピューティング」を専用端末不要、スマホのWebブラウザのみで実現する『Web XR Site』を公開しました
  • Appleから新世代MRグラス「Vision Pro」の登場 – デジタルと現実世界が融合する新時代へ
  • ARアプリ『MUGHEN』が世界最大のAR/VRアワード「AWE」のファイナリストに選出されました!
  • 「SwinIR」で高画質化した画像を pythonを使用して一括で元のサイズに戻す方法

カテゴリー

  • AI・ディープラーニング
  • AR
  • BtoB
  • CMS
  • Git
  • Google AdWords
  • gulp
  • Javascript
  • Laravel
  • Photoshop
  • Pug
  • pyhotn
  • Sass
  • SEO
  • SNS
  • Twitter広告
  • VR
  • Web3.0
  • WEBサイト
  • WEBマーケティング
  • YouTube
  • コーディング
  • システム開発
  • スマートフォンサイト
  • セキュリティ
  • セミナー
  • その他
  • ツール
  • デザイン
  • ベトナムレポート
  • 仕事術
  • 未分類
  • 業務効率化
  • 空間コンピューティング
  • 色

検索

ALAKI株式会社 © 2025. All Rights Reserved.