26
31

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

ajaxとは?【初心者向け】

Last updated at Posted at 2018-09-29

#前置き
Ajaxとは、「Asynchronous JavaScript + XML」の略で、ブラウザ内でJavaScriptの通信機能を使って、XML形式のデータを送受信する技術のことです。

#目次
1.他画面遷移とは?
2.自画面遷移とは?
3.非同期通信(Ajax)とは?
4.Ajaxの書き方(jquery)

Ajaxについて知るためには1~3の知識を身につけると理解が深まります。
※非同期通信について理解している方は目次の4まで読み飛ばしてもらって構いません。

#1.他画面遷移とは?
他画面遷移とはログイン画面で新規登録をクリックすると、
アカウント登録画面に移動するように、別のページへ遷移することを意味します。
![](http://yuml.me/diagram/class/[ログイン画面] ->[アカウント登録画面])

#2.自画面遷移とは?
一方、自画面遷移とはログイン画面でログインが失敗して「パスワードが間違っています!」というエラーメッセージが表示されるように同じ画面(同じURL)が帰ってくる処理です。
この時、Ajaxで書かれていなければ、全てのHTMLのソースコードが読み込まれています。(同期通信と言います)
![](http://yuml.me/diagram/class/[ブラウザ] <- ログイン画面のソースコード[サーバ])
同期通信では、ページ表示のためのHTMLとjavascript両方のソースコードが全て帰って来るため、再度ページが更新されています。

#3.非同期通信(Ajax)とは?
非同期通信とは、自画面遷移の一種です。”ログイン画面”でログインに失敗した際、同期通信では”ログイン画面”で使われている全てのHTMLコードとjavascriptコードが帰ってきますが、非同期通信では、ページの更新はせず、「パスワードが間違っています!」というメッセージだけが帰ってきます。
![](http://yuml.me/diagram/class/[ブラウザ] <- パスワードが間違っています![サーバ])
つまり、必要な情報のみ取得して表示させています。
なので同期通信よりも速度が早くなります。

#4.Ajaxコードの書き方
Ajaxのソースコードの例は以下の通りです。


$('#button').on('click', function(){ 
  // Ajax通信を開始
  $.ajax({
    url: 'controller.java', //接続するクラス名(phpでもok)
    type: 'GET',        //GET通信なのか、POST通信なのか
    dataType: 'json',     //javaに送信するデータのタイプ
        data: {          //この形式の書き方をjsonと言います。
        userid: 1,           //useridという変数名に1という情報を保持
        password: 'hoge',
    },

  })
  .success(function(result) { 
      // 通信成功時の処理を記述(resultにはjavaから取得してきた情報を保持している)
  })
  .error(function(result) {
      // 通信失敗時の処理を記述
  });
})
26
31
0

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
26
31

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?