ajax 读取txt文件怎么实现下面是我的代码 不过不好使请高手指点
<html><head><scripttype="text/javascript">functionloadXMLDoc(){varxmlhttp;if(window.X...
<html>
<head>
<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");
}
alert(1);
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
alert(1);
//到这个位置就执行不下去了
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
alert(2);
}
}
xmlhttp.open("GET","AJAX.html",true);
xmlhttp.send();
}
</script>
</head>
<body>
<h2>AJAX</h2>
<button type="button" onclick="loadXMLDoc()">请求数据</button>
<div id="myDiv"></div>
</body>
</html> 展开
<head>
<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");
}
alert(1);
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
alert(1);
//到这个位置就执行不下去了
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
alert(2);
}
}
xmlhttp.open("GET","AJAX.html",true);
xmlhttp.send();
}
</script>
</head>
<body>
<h2>AJAX</h2>
<button type="button" onclick="loadXMLDoc()">请求数据</button>
<div id="myDiv"></div>
</body>
</html> 展开
展开全部
<html>
<head>
<script type="text/javascript">
var xmlhttp; // 错误在这里,应该把变量声明在过程之外.
function loadXMLDoc(){
if(window.XMLHttpRequest){
xmlhttp=new XMLHttpRequest();
} else {
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function(){
if(xmlhttp.readyState==4 && xmlhttp.status==200){
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","AJAX.html",true);
xmlhttp.send();
}
</script>
</head>
<body>
<h2>AJAX</h2>
<button type="button" onclick="loadXMLDoc()">请求数据</button>
<div id="myDiv"></div>
</body>
</html>
另外,你注释的那处并不是执行中断的位置,而是上面的那个alert(1)产生的对话框,你的代码,xmlhttp.onreadystatechange绑定的函数不可能执行,因为xmlhttp没等返回内容,该对象就已经超过生存期被释放了.
<head>
<script type="text/javascript">
var xmlhttp; // 错误在这里,应该把变量声明在过程之外.
function loadXMLDoc(){
if(window.XMLHttpRequest){
xmlhttp=new XMLHttpRequest();
} else {
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function(){
if(xmlhttp.readyState==4 && xmlhttp.status==200){
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","AJAX.html",true);
xmlhttp.send();
}
</script>
</head>
<body>
<h2>AJAX</h2>
<button type="button" onclick="loadXMLDoc()">请求数据</button>
<div id="myDiv"></div>
</body>
</html>
另外,你注释的那处并不是执行中断的位置,而是上面的那个alert(1)产生的对话框,你的代码,xmlhttp.onreadystatechange绑定的函数不可能执行,因为xmlhttp没等返回内容,该对象就已经超过生存期被释放了.
更多追问追答
追问
任然不好使,我是想直接读取一个txt文件 txt文件和网页是在一个目录下
追答
txt的也可以,只要把 AJAX.html 换成你的 TXT文件名就行了,这个代码是测试过的,没问题.
展开全部
哦,你看的是那个视频吧,我的行。
你装了什么web服务器,我装的是IIS,视频直接用的是dreamweaver浏览的。
或者手动在IE里面通过主目录浏览,别直接运行,那不成功。
你代码是复制W3school的吧,我也在W3school学,一起加油。
你装了什么web服务器,我装的是IIS,视频直接用的是dreamweaver浏览的。
或者手动在IE里面通过主目录浏览,别直接运行,那不成功。
你代码是复制W3school的吧,我也在W3school学,一起加油。
追问
我是直接运行的,
追答
将要替换的文件放在服务器主目录下面,让服务器能找到。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的这个代码根本就没有去请求服务器.看看这个段代码吧:
var xmlHttp
function showHint(str)
{
if (str.length==0)
{
document.getElementById("txtHint").innerHTML="";
return;
}
xmlHttp=GetXmlHttpObject()
if (xmlHttp==null)
{
alert ("您的浏览器不支持AJAX!");
return;
}
var url="gethint.asp";
url=url+"?q="+str;
url=url+"&sid="+Math.random();
xmlHttp.onreadystatechange=stateChanged;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
}
function stateChanged()
{
if (xmlHttp.readyState==4)
{
document.getElementById("txtHint").innerHTML=xmlHttp.responseText;
}
}
function GetXmlHttpObject()
{
var xmlHttp=null;
try
{
// Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
}
catch (e)
{
// Internet Explorer
try
{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
}
return xmlHttp;
}
var xmlHttp
function showHint(str)
{
if (str.length==0)
{
document.getElementById("txtHint").innerHTML="";
return;
}
xmlHttp=GetXmlHttpObject()
if (xmlHttp==null)
{
alert ("您的浏览器不支持AJAX!");
return;
}
var url="gethint.asp";
url=url+"?q="+str;
url=url+"&sid="+Math.random();
xmlHttp.onreadystatechange=stateChanged;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
}
function stateChanged()
{
if (xmlHttp.readyState==4)
{
document.getElementById("txtHint").innerHTML=xmlHttp.responseText;
}
}
function GetXmlHttpObject()
{
var xmlHttp=null;
try
{
// Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
}
catch (e)
{
// Internet Explorer
try
{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
}
return xmlHttp;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询