Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 通过ajax将文件读入div。I';我想我遗漏了一些小东西_Html_Ajax_File Read - Fatal编程技术网

Html 通过ajax将文件读入div。I';我想我遗漏了一些小东西

Html 通过ajax将文件读入div。I';我想我遗漏了一些小东西,html,ajax,file-read,Html,Ajax,File Read,我正在做一件非常简单的事情,但它不起作用。。也许我错过了什么 我需要通过ajax读取一个文本文件,并将其读入div。我可以通过ajax轻松地写入该文件,但不需要读取。以下是我所拥有的: function ajaxLoader(url) { if(document.getElementById) { var x = (window.ActiveXObject) ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest()

我正在做一件非常简单的事情,但它不起作用。。也许我错过了什么

我需要通过ajax读取一个文本文件,并将其读入div。我可以通过ajax轻松地写入该文件,但不需要读取。以下是我所拥有的:

function ajaxLoader(url) {
  if(document.getElementById) {
    var x = (window.ActiveXObject) ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest();
  }
  if(x) {
    x.onreadystatechange = function() {
      if(x.readyState == 4 && x.status == 200) {
        el = document.getElementById('content');
        el.innerHTML = x.responseText;
      }
    }

    x.open("GET",url, true);
    x.send(null);
  }
}

<a class="blocklink" href="#" id="readg" onclick="ajaxLoader('guestBook.txt')">Read The Guestbook</a></p>

<div id="content" style="width:600px;">
函数ajaxLoader(url){
if(document.getElementById){
var x=(window.ActiveXObject)?新的ActiveXObject(“Microsoft.XMLHTTP”):新的XMLHttpRequest();
}
if(x){
x、 onreadystatechange=函数(){
如果(x.readyState==4&&x.status==200){
el=document.getElementById('content');
el.innerHTML=x.responseText;
}
}
x、 打开(“获取”,url,true);
x、 发送(空);
}
}

我整天都在忙这个。我可以使用所有相同的代码,并将一个常规html文件输出到div,但不能输出这个.txt文件。txt文件具有所需的所有读写权限。谢谢


Marcus

如果(document.getElementById)


你能提醒你的
.responseText
属性吗?它使用同步模式工作

您的ajaxLoader函数应返回false,以便不遵循单击的链接。

如果您在本地运行代码,则将获得状态0而不是状态200。要处理这两个问题,可以使用:

if (x.readyState == 4 && (x.status == 0 || x.status == 200))
此外,当您单击该链接时,将跟随该链接,因为您尚未取消该链接。由于href为“#”,它将进入同一页面的顶部,但仍可能导致问题。(一个副作用是,当您按下链接时,页面将滚动到顶部。)通过单击事件返回false取消链接:

onclick="ajaxLoader('guestBook.txt');return false;"

我想出来了。。我从未清除过缓存。。。缓存又赢了

除非你也在点击事件中返回函数结果,否则这不会有帮助。好吧,所以我添加了返回false,它仍然不起作用。有什么想法吗?它似乎通过了if语句。当我提醒x.responsetype时,我什么也得不到。。。它是空白的。。。我不擅长ajax,所以不确定这是怎么回事。也不确定同步模式。有什么想法吗?