XMLHttpRequest で XML のデータを受け取る
XMLHttpRequest では、サーバーからの結果を2種類の方法で受け取ることが出来ます。 1つは responseText 、もうひとつが responseXML になります。
この responseXML と XMLHttpRequest が Ajax ( Asynchronous JavaScript + XML )の由来です。
responseXML を使うことの利点は、受け取った結果を DOM として扱えることです。
DOM で扱えるためデータへのアクセスが非常にわかりやすくなります。
XML ということなので文字コードは UTF-8 が無難なようですが、文字化けの話題なども 見かけます。
function getAddr(){
var xmlhttp = createXmlHttp();
if(xmlhttp == null) return;
xmlhttp.onreadystatechange = handleHttpResponse;
function handleHttpResponse(){
//リクエスト状況を確認(完了)
if(xmlhttp.readyState == 4){
var domDoc = xmlhttp.responseXML;
var co = domDoc.getElementsByTagName('country');
}
}
var zipValue = document.getElementById("zip").value;
//サーバーへリクエスト
xmlhttp.open("GET", "getaddr.php?param=" + zipValue, true);
xmlhttp.send();
}
function createXmlHttp(){
if(window.ActiveXObject){
//Windows IE用
try {
return new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
return new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {
return null;
}
}
}
else if(window.XMLHttpRequest){
//Windows IE以外のXMLHttpRequestオブジェクト実装ブラウザ用
return new XMLHttpRequest();
}
else {
return null;
}
}