2013-04-26 57 views
0

我使用thebelow脚本时出现上述错误:无法设置innerHTML属性“的值:对象为空或未定义

<script type="text/javascript"> 

function ajaxRequest(){ 
    var activexmodes=["Msxml2.XMLHTTP", "Microsoft.XMLHTTP"] //activeX versions to check for in IE 
    if (window.ActiveXObject){ //Test for support for ActiveXObject in IE first (as XMLHttpRequest in IE7 is broken) 
    for (var i=0; i<activexmodes.length; i++){ 
    try{ 
    return new ActiveXObject(activexmodes[i]) 
    } 
    catch(e){ 
    //suppress error 
    } 
    } 
    } 
    else if (window.XMLHttpRequest) // if Mozilla, Safari etc 
    return new XMLHttpRequest() 
    else 
    return false 
} 

var mygetrequest=new ajaxRequest() 
if (mygetrequest.overrideMimeType) 
    mygetrequest.overrideMimeType('text/xml') 
mygetrequest.onreadystatechange=function(){ 
alert("hi22222222"); 
    if (mygetrequest.readyState==4){ 
    if (mygetrequest.status==200 || window.location.href.indexOf("http")==-1){ 
    var xmldata=mygetrequest.responseXML //retrieve result as an XML object 
    alert("hi22222222  :"  +xmldata); 
    var rssentries=xmldata.getElementsByTagName("item") 
    var output='<ul>' 
    for (var i=0; i<rssentries.length; i++){ 
    output+='<li>' 
    output+='<a href="'+rssentries[i].getElementsByTagName('link')[0].firstChild.nodeValue+'">' 
    output+=rssentries[i].getElementsByTagName('title')[0].firstChild.nodeValue+'</a>' 
    output+='</li>' 
    } 
    output+='</ul>' 
    document.getElementById("result").innerHTML=output 
    } 
    else{ 
    alert("An error has occured making the request") 
    } 
    } 
} 

mygetrequest.open("GET", "C:/HTML/JQueryExamples/javascriptkit.xml", true) 
mygetrequest.send(null) 

</script> 

我已经使用XML来检索上述错误得到的数据。

<?xml version="1.0" encoding="ISO-8859-1"?> 

<rss version="0.91"> 
<channel> 
<title>JavaScriptKit.com</title> 
<link>http://www.javascriptkit.com</link> 
<description>JavaScript tutorials and over 400+ free scripts!</description> 
<language>en</language> 

<item> 
<title>Document Text Resizer</title> 
<link>http://www.javascriptkit.com/script/script2/doctextresizer.shtml</link> 
<description>This script adds the ability for your users to toggle your webpage's font size, with persistent cookies then used to remember the setting</description> 
</item> 

<item> 
<title>JavaScript Reference- Keyboard/ Mouse Buttons Events</title> 
<link>http://www.javascriptkit.com/jsref/eventkeyboardmouse.shtml</link> 
<description>The latest update to our JS Reference takes a hard look at keyboard and mouse button events in JavaScript, including the unicode value of each key.</description> 
</item> 

<item> 
<title>Dynamically loading an external JavaScript or CSS file</title> 
<link>http://www.javascriptkit.com/javatutors/loadjavascriptcss.shtml</link> 
<description>External JavaScript or CSS files do not always have to be synchronously loaded as part of the page, but dynamically as well. In this tutorial, see how.</description> 
</item> 

</channel> 
</rss> 

请帮我解决这个错误。应该读取xml节点。

ERROR:无法设置innerHTML属性“的值:对象为空或未定义

例如我是从这个网站参照以上。

http://www.javascriptkit.com/dhtmltutors/ajaxgetpost3.shtml

在此先感谢。

+0

这与_retrieving_ XML无关 - 要将_write_输出到的元素,id为“result”的元素简单不存在。 – CBroe 2013-04-26 13:09:24

回答

1

此脚本试图将output添加到页面中id="result"的元素。

因此,在您使用此脚本的页面的html内,应该有一个带有“result”的id元素。

例如您的网页上,你应该有这样的:

<div id="result"></div> 

而且document.getElementById("result").innerHTML = output将所有的innerHTML内容添加到该分区。

希望这是有道理的,如果不是那么只是添加评论,我会尝试澄清/帮助更多。

相关问题