AJAX导致Div消失
使用AJAX调用CGI脚本,该脚本打开一个文件并在DIV中打印出来 这在我的测试页面上运行良好,但由于某些原因,在另一个页面中,它会将内容打印到DIV中,然后清除DIV。使用alert()我可以看到readystate从1,2,3,4,1,4变为1,2,3,4,1,4,然后第二次清除DIV内容。它实际上调用了updatepage()函数两次,但第二次DIV被清除。当我签入firebug时,innerHTML从具有内容变为具有“” 在我的测试页面中,即使发生了相同的readystate序列,也不会发生这种情况 下面是我遇到问题的代码片段:AJAX导致Div消失,ajax,html,readystate,onreadystatechange,Ajax,Html,Readystate,Onreadystatechange,使用AJAX调用CGI脚本,该脚本打开一个文件并在DIV中打印出来 这在我的测试页面上运行良好,但由于某些原因,在另一个页面中,它会将内容打印到DIV中,然后清除DIV。使用alert()我可以看到readystate从1,2,3,4,1,4变为1,2,3,4,1,4,然后第二次清除DIV内容。它实际上调用了updatepage()函数两次,但第二次DIV被清除。当我签入firebug时,innerHTML从具有内容变为具有“” 在我的测试页面中,即使发生了相同的readystate序列,也不会
self.xmlHttpReq.open('POST', cgiScript, true);
self.xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
self.xmlHttpReq.onreadystatechange = function()
{
if (self.xmlHttpReq.readyState == 4)
{
updatepage(self.xmlHttpReq.responseText);
}
}
function updatepage(str)
{
document.getElementById("result").innerHTML = str;
}
编辑
好吧,我想我发现了问题所在,但我不知道为什么
在锚中,html href=“”是导致问题的原因。一旦我把它移走,这个部门就一直人满为患
这将导致DIV在打印后消失
<div class="menulinkboxes" id="listdiv">
<a class="mainmenulinks"
onclick='openFile("list,autos")'
href="">auto-list</a>
</div>
将href=“”替换为href=“#”修复了它。#指这一页
<div class="menulinkboxes" id="listdiv">
<a class="mainmenulinks"
onclick='openFile("list,autos")'
>auto-list</a>
</div>
自动列表
我知道你回答了这个问题,但我只是想快速扩展你的答案
href="#"
“#”告诉浏览器查找定位标记,因此如果之后将#符号留空,它将定位到自身
此外,我还发现innerHTML会导致问题,DOM方法非常方便。但是,对于检索该值,它应该可以正常工作。我只是想提一下。我在研究这个问题的时候,遇到了你的问题:)因此2个月的复活:)