こんにちは、新しいので、これが正しくできたことを願っています.. Ajax for Dummies の本を読んでいます (1 年前に php を読んで、これは素晴らしかったので、これを試してみてください)。プログラム..実際にテキストファイルを見つけるのに永遠にかかりましたが、プログラムのどこに問題があるのか を見つけようとしているときに、理解できない問題に気づきました。
ある時点で、readyState == 4 AND status == 200 かどうかを確認し、それが false の場合は、「いいえ」という警告メッセージを表示します。常に「いいえ」と警告し、if ステートメントの他の部分を実行します。 .. どうして?(以下にリストされているのは、これまでに取得した唯一のコードです-関数を呼び出す可能性のある他のファイルはありません)「else」ステートメントを削除すると、正常に機能しますが、これは後で問題になる可能性があり、それがなぜそれをしているのか知っています...どうもありがとう!
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta content="text/html;charset=utf-8" http-equiv="Content-Type">
<meta content="utf-8" http-equiv="encoding">
<title>Ajax at work</title>
<script language = "JavaScript">
var XMLHttpRequestObject = false;
if (window.XMLHttpRequest)
{
XMLHttpRequestObject = new XMLHttpRequest();
}
else if (window.ActiveXObject)
{
XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
}
function getData(dataSource, divID)
{
if(XMLHttpRequestObject)
{
var obj = document.getElementById(divID);
XMLHttpRequestObject.open("GET", dataSource, true);
XMLHttpRequestObject.onreadystatechange = function()
{
if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200)
{
obj.innerHTML = XMLHttpRequestObject.responseText;
}
else
{
alert("nope");
}
}
XMLHttpRequestObject.send(null);
}
}
</script>
</head>
<body>
<H1>Fetching data with Ajax</H1>
<form>
<input type="button" value="submit" onclick="getData('http://localhost/AV/data.txt', 'targetDiv')">
</form>
<div id="targetDiv">
<p>The fetched data will go here.</p>
</div>
</body>
</html>