XML http请求,document.getelementbyID打破了javascript

时间:2013-07-17 22:43:51

标签: javascript html xml document xmlhttprequest

我对XML非常陌生,但即便如此,我还是设法获得了一个有效的脚本,感谢w3school的网站加载了来自文件的信息,这里是:http://www.w3schools.com/xml/xml_dom.asp。不幸的是,我遇到了一个重复的网站问题,即使我已经研究过,我还没有找到答案。

除了elementId名称之外,代码在我的第二个站点中是相同的。

我正在使用wamp服务器,我的XML文件“PortfolioInfo.xml”与我的index.html位于同一目录中,我的xml中的标签内部有一个标签。我想将XML中标记的信息插入到我的HTML标记中。

我的Javascript是:

if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.open("GET","PortfolioInfo.xml",false);
xmlhttp.send();
xmlDoc=xmlhttp.responseXML;

document.getElementById("contactName").innerHTML=xmlDoc.getElementsByTagName("name")[0].childNodes[0].nodeValue;

如果我注释掉document.getElementById行,那么我的其余Javascript代码如果没有被注释掉则不会中断。我已经尝试将它放在body标签末尾的HTML文件中。

完整的HTML就在这里:

<!DOCTYPE html>
<html>
<head>
    <title>Portfolio: Darrell James</title>
    <link rel="stylesheet" type="text/css" href="style.css" />
    <link href='http://fonts.googleapis.com/css?family=Aldrich' rel='stylesheet' type='text/css'>
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
    <script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script>
</head>
<body>
<div id="home">

</div>

<div id="about">
    <div id="aboutHome"><span class="arrow"><<</span></div>
    <div id="aboutSlide">
        <div id="aboutText">
            about
        </div>
    </div>
</div>

<div id="gallery">
    <div id="galleryHome"><span class="arrow"><<</span></div>
    <div id="gallerySlide">
        <div id="galleryText">
            gallery
        </div>
    </div>
</div>
<div id="contact">
    <div id="contactHome"><span class="arrow"><<</span></div>
    <div class="nobr" id="contactContent">
        <span id="contactName">
        </span>
    </div>
    <div id="contactSlide">
        <div id="contactText">
            contact
        </div>
    </div>
</div>

<script src="script.js"></script>
<script>

if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.open("GET","PortfolioInfo.xml",false);
xmlhttp.send();
xmlDoc=xmlhttp.responseXML;

document.getElementById("contactName").innerHTML=xmlDoc.getElementsByTagName("name")[0].childNodes[0].nodeValue;

</script>
</body>

我没有必要使用XML,但我会感激任何帮助。

0 个答案:

没有答案