admin管理员组

文章数量:1552456

我对Ajax很新颖。我试图把一个XML文件的某些特定部分成一个div我的网页上,并在最近每个浏览器下面的作品,除了IE:在IE浏览器中出现Ajax错误“undefined”

var xhr = false;

//Executed to request content from the server

function setContent(){

if(window.XMLHttpRequest){

xhr = new XMLHttpRequest();

} else {

if(window.ActiveXObject){

xhr = new ActiveXObject("Microsoft.XMLHTTP");

}

}

xhr.onreadystatechange = showContent;

xhr.open("GET", "ajax/art.xml", true);

xhr.send(null);

}

//Executed to set the appropriate text once the server has gathered the data

function showContent(){

if(xhr.readyState == 4){

if(xhr.status == 200 || window.location.href.indexOf("http") == -1){

var newData = xhr.responseXML.getElementsByTagName(curPage).textContent;

}

var textBox = document.getElementById("textBox");

textBox.innerHTML = newData;

}

}

(curPage的值在代码的其他地方设置与似乎有正确的值) 当我在服务器上的IE中执行此代码时,我在textBox Div中获取单词“undefined”,而不是从XML文档中获取内容。我该如何解决这个问题?

在此先感谢<> <

感谢bobince,但似乎没有任何工作。

这是关于textContent的一个有趣的注释。我想:

if(xhr.responseXML.getElementsByTagName(allPages[curPage])[curStage].textContent != undefined){

var newText = xhr.responseXML.getElementsByTagName(curPage)[curStage].textContent;

} else {

var newText = xhr.responseXML.getElementsByTagName(curPage)[curStage].innerText

}

}

以来的innerText应该在除了FF和的textContent每一个浏览器,除了IE浏览器每次应该工作工作,但我仍然得到“未定义”在IE中。此外,如果我只是使用innerText并忘记了FF兼容性,那么在每个浏览器中,我都会得到“undefined”,而不仅仅是IE。

不知道如何解决这个问题?

(呵呵,注意我用(curPage)curStage],固定第一您注意到的问题)

2010-09-23

tcmulder

+0

你有没有考虑过使用像[jQuery](http://jquery/)这样的JS框架?它会让你的生活变得更轻松。 –

2010-09-23 17:36:47

+0

我试图在本网站上展示我的JavaScript手动编码技巧。我没有用jQuery重建这部分,但我想避免在最终的网站。伟大的框架,但:谢谢你的提示。 –

2010-09-24 20:23:45

+0

我们是否有可能清理这个问题?对于已发布为完整答案而不是原始问题的评论或补充的答案,有回复。 –

2010-09-27 14:05:46

本文标签: 错误器中浏览器手机undefined