2012年8月2日木曜日

開発環境

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

その他参考書籍

15-1.

コード(TextWrangler)

var xmlhttp = new XMLHttpRequest();
var url = "recipe.php?drink=" + drink;
xmlhttp.open("GET",url,false);
xmlhttp.onreadystate =  printRecipe;
xmlhttp.send(null);

function printRecipe(){
  if(xmlhttp.readyState == 4 && 
    xmlhttp.status == 200){
    var recipe = document.createElement('div');
    recipe.id = 'recipe';
    var p = document.createElement('p');
    var h = document.createElement('h3');
    var title = xmlhttp.responseXML.getElementsByTagName('title')[0].firstChild.nodeValue;
    var text = document.createTextNode(title);
    h.appendChild(text);
    recipe.appendChild(h);
    var ul = document.createElement('ul');
    var ingredients = xmlhttp.responseXML.getElementsByTagName('ingredient');
    var ingredient = "";
    for(var i = 0;i < ingredients.length;i++){
      var l = document.createElement('li');
      ingredient = ingredients[i].firstChild.nodeValue;
      text = document.createTextNode(ingredient);
      l.appendChild(text);
      ul.appendChild(l);
    }
    recipe.appendChild(ul);
    var instruction = xmlhttp.responseXML.getElementsByTagName('instruction')[0].firstChild.nodeValue;
    text = document.createTextNode(instruction);
    p.appendChild(text);
    recipe.appendChild(p);
    var b = document.getElementsByTagName('body')[0];
    b.appendChild(recipe);
  }
}

0 コメント:

コメントを投稿