2012年9月19日水曜日

開発環境

『初めてのJavaScript 第2版』(シェリー・パワーズ著(Shelley Powers著)、武舎 広幸+武舎 るみ訳、オライリー・ジャパン、2009年、ISBN978-4-84311-425-5) の15章(Ajaxのデータ)練習問第15-2を解いてみる。

その他参考書籍

15-2.

コード(TextWrangler)

var xmlhttp = new XMLHttpRequest();

function getRecipe(){
  var drink = encodeURIComponent($('#drink').val());
  var url = "recipe.php?drink=" + drink;
  xmlhttp.open("GET", url, true);
  xmlhttp.onreadystatatechange = printRecipe;
  xmlhttp.send(null);
}

function printRecipe(o){
  if(xmlhttp.readyState == 4 && xmlhttp.status = 200){
    var response = JSON.parse(xmlhttp.responseText);
    var b = document.getElementsByTagName('body')[0];
    var recipe = document.createElement('div');
    var h3 = document.createElement('h3');
    var title = response['title'];
    var text = document.createTextNode(title);
    h3.appendChild(text);
    recipe.appendChild(h3);
    var ul = document.createElementsByTagName('ul');
    var ingredients = response['ingredients']
    for(var i = 0; i < ingredients.length ; i++){
      var li = document.createElementsByTagName('li');
      var ingredient = ingredients[i]['ingredient'];
      text = document.createTextNode(ingredient);
      li.appendChild(text);
      ul.appendChild(li);
    }
    recipe.appendChild(ul);
    var p = document.createElementsByTagName('p');
    var instruction = response['instruction']
    text = document.createTextNode(instruction);
    p.appendChild(text);
    recipe.appendChild(p);
    b.appendChild(recipe);
  }
}

0 コメント:

コメントを投稿