LoginSignup
2
8

More than 5 years have passed since last update.

初めてのajax

Last updated at Posted at 2017-07-30

はじめに

Webアプリケーションの元ができたので、ajaxを動かして見ようと思いました。
javascriptがjsonを取り込んで、非同期処理でDBアクセスしたりする仕組みと言う言葉では理解していたものの、実装したことがなかったので実装してみました。

お手本探し

下記のページを参考に作り始めました。

テックノート – はじめてAjaxを実装する人へ、効率的な学習方法について書きました
http://javatechnology.net/ajax/biginer-start-up/

以下引用


function() {
    $.ajax({
      url: 'http://localhost:8080/AplExample/family',
      type:'GET',
      dataType: 'jsonp',
      timeout:1000,
      success: function(data) {
                   alert("ok");
               },
      error: function(data) {
                   alert("ng");
             }
    });
});

なるほど。URLで読み込んだ情報を出力するのか。これをいじっていこう。

PHPでjsonを出力

以前作ったPHPの実行環境でJSONを出力。

<?php
$json = array(
    'aaa' => '1',
    'bbb' => '2',
    'ccc' => '3',
    'ddd' => '4',
);

echo json_encode($json);

これで出るかな?

dataTypeは読み込むデータ形式によって変えるものらしい。JSONなのでJSONに。


<script src="https://code.jquery.com/jquery-3.0.0.min.js"></script>
<script>
<!--
(function() {
    $.ajax({
      url: 'http://192.168.xx.xx/json', // jsonのURL
      type:'GET',
      dataType: 'json',
      timeout:1000,
      success: function(data) {
                   alert(data);
               },
      error: function(data) {
                   alert("ng");
             }
    });
})();
// -->
</script>

結果
[object Object]

object Objectってなんだよ。

動いた!

調べたら、HashMap形式、PHPのarrayと同じ方法で参照できるらしい。


<script src="https://code.jquery.com/jquery-3.0.0.min.js"></script>
<script>
<!--
(function() {
    $.ajax({
      url: 'http://192.168.xx.xx/json', // jsonのURL
      type:'GET',
      dataType: 'json',
      timeout:1000,
      success: function(data) {
                   alert(" aaa =" + data["aaa"] + "\n" +
                         " bbb =" + data["bbb"] + "\n" +
                         " ccc =" + data["ccc"] + "\n" +
                         " ddd =" + data["ddd"] );

               },
      error: function(data) {
                   alert("ng");
             }
    });
})();
// -->
</script>

結果

aaa = 1
bbb = 2
ccc = 3
ddd = 4

期待どおり。あとはjsonをPHPのロジックで変更できるようにしたら思い通りに動かせそう。

2
8
2

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
2
8