我正在努力让这项任务奏效,但我还没有取得多大成功。当用户从下拉列表中选择一个国家/地区时,它应该转到服务器并获取名为usa.txt,Canada.txt,mexico.txt或Russia.txt的4个文本文件中的一个,并将内容显示到我的网页。 (每个文件都有一个简短的城市列表)有什么我想念的吗?我知道我必须发出一个http请求,但现在显示的是下拉菜单。我知道我在这里也可能需要if-else语句,但我不知道在哪里放这些语句。有人可以帮忙吗?显然,文本文件位于以下链接中。
http://157.201.194.254/~ercanbracks
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!-- This is assign09.html -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title> Ajax </title>
<script type="text/javascript">
function loadXMLDoc(){
var xmlhttp;
if (window.XMLHttpRequest){// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function(){
if (xmlhttp.readyState==4 && xmlhttp.status==200){
document.getElementById("population").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","usa.txt",true);
xmlhttp.send();
}
</script>
</head>
<body>
<h1 style="text-align:center">Countries</h1>
<div style="text-align:center">
<form name="submission" action="">
<select name="population" onchange="loadXMLDoc(this.value)">
<option value="">Select a country:</option>
<option value="usa">USA</option>
<option value="canada">Canada</option>
<option value="mexico">Mexico</option>
<option value="russia">Russia</option>
</select>
</form>
</div>
<div id="population"></div>
</body>
</html>
答案 0 :(得分:-1)
好吧,你不能直接打开一个文本文件作为AJAX请求的一部分。您需要将请求定向到服务器页面,该页面将读取任何一个文件(usa.txt,russia.txt等)并将内容作为响应发回。
错误在线:
xmlhttp.open("GET","usa.txt",true);
应该是这样的:
xmlhttp.open("GET","respond.php?fname=usa.txt",true);
请参阅此link以了解如何向服务器发送请求。我希望你已经在像Tomcat这样的服务器中部署了网页(这里提到了response.php),你有一个服务器php / jsp / asp页面来接收客户端的请求并进行处理。