私はAJAXを学び始めたばかりで、簡単なスクリプトを作成しました。以下はスクリプトです。
<!doctype html>
<html>
<head>
<title>Welcome to the forum</title>
<script>
var XMLHttpRequestObject = false;
if(window.XMLHttpRequest)
{
XMLHttpRequestObject = new XMLHttpRequest();
XMLHttpRequestObject.overrideMimeType("text/xml");
}
else
{
document.getElementById("text").innerHTML = "Sorry, your browser does not support AJAX!";
}
function getData(dataSource)
{
XMLHttpRequestObject.open("GET", dataSource);
XMLHttpRequestObject.onreadystatechange = function()
{
if(XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200)
{
responseData = XMLHttpRequestObject.responseXML;
responseDataList = responseData.getElementsByTagName("os");
}
}
XMLHttpRequestObject.send(null);
}
function displayMenuItems(dataSource,selectID)
{
getData(dataSource);
var i;
for(i=0; i<responseDataList.length; i++)
{
document.getElementById(selectID).options[i] = new Option(responseDataList[i].firstChild.data);
}
}
</script>
</head>
<body>
<form>
<select size="1" id="os">
<option>Select and OS</option>
</select>
<input type="button" value="Display OS list" onclick="displayMenuItems('os.xml','os')" />
</form>
<div id="text">The Operating System you use will appear here!</div>
</body>
ボタンをクリックすると、HTMLリストにOSのリストが表示されると思いますが、ボタンを2回クリックした後にのみ表示されます。何が問題なのかわからない!:(
以下はXMLスクリプトです。
<?xml version="1.0"?>
<osList>
<os>Ubuntu</os>
<os>Fedora</os>
<os>Windows</os>
</osList>