Kamimura's blog
プログラミング(Python、Perl、C、Go、JavaScript)、数学、読書…
ほしい物リスト
2010年6月17日木曜日
プログラミング学習の記録 224 独習JavaScript (大型本)の第10章(Ajax)の10.2(XMLHttpRequest)の練習問題10.2
開発環境:
Mac OS X Snow Leopard (OS)
Firefox(ブラウザ)+Firebug(アドオン)
"独習JavaScript (大型本)"のp.394, 第10章(Ajax)の10.2(XMLHttpRequest)の練習問題10.2を解いてみる。
1.
XMLHttpRequestオブジェクトの生成方法が異なる。ただし、最新のWebブラウザならさほど問題ない。
2.
var request = new window.XMLHttpRequest(); request.onreadystatechange == function () { if (request.readyState == 4 && request.status == 200) { var names = responseXML.getElementsByTagName("name"); var value = names[0].firstChild.nodeValue; var elm = document.getElementById("div"); elm.innerText = value; } }; request.open("GET", "names.xml", true); request.send(null);
3は飛ばしておまけ。
function jsonpCallback(obj) { var resultString = ""; for (var i = 0; i < obj.ResultSet.totalResultsReturned; i++) { var result = obj.ResultSet.Result[i]; var title = document.getElementById("search_result").appendChild(title); replaceText(title, i + "件目: " + result.Title); var summary = document.createElement("p"); document.getElementById("search_result").appendChild(summary); replaceText(summary, result.Summary); } } function click_event() { var eScript = document.createElement("script"); var url = "http://search.yahooapis.jp/WebSearchService/V1/webSearch"; var appid = "ehx49bSxg66ARIsPNtoltJuFkAff54Hos8kTyGfiRN850L00L6YGF1jdEkiyS.29AA--"; var query = encodeURIComponent("Yahoo!"); var results = 5; eScript.src = url + "?appid=" + appid + "query=" + query + "&results=" + results + "&output=json&callback=jsonpCallback"; document.body.appendChild(eScript); } function replaceText(element, text) { if (navigator.userAgent.toLowerCase().indexOf("firefox") != -1) { element.textContent = text; } else { element.innerHTML = text; } }
0 コメント:
コメントを投稿
次の投稿
前の投稿
ホーム
コメントの投稿(Atom)
0 コメント:
コメントを投稿