微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

调用和未定义错误时不会加载 XML

如何解决调用和未定义错误时不会加载 XML

我得到的错误

Members.html:9 Uncaught ReferenceError: loadXMLDoc 未定义 在 HTMLButtonElement.onclick

这是我的 HTML:

<p><button onclick="loadXMLDoc()"> Load Table </button></p> //this is where it is pointing at

<table id = "members" border= "1">
<tr><th colspan="3">informatics Club Membership</colspan></th></tr>
<tr><th>Name</th><th>Email</th><th>Interests</th></tr>
</table>

<script>
    function loadXMLDoc(){
        var xmlhttp = new XMLHttpRequest();
        xmlhttp.onreadystatechange = function(){
            if (this.readyState == 4 && this.status == 200){
                myFunction(this);
            }
        };
        xmlhttp.open("GET","Members.xml",true);
        xmlhttp.send();
    }
    
    function myFunction(xml){
        var x,i,xmlDoc,table;
        xmlDoc = xml.responseXML;
        table = "<tr><th colspan="0">informatics Club Membership</colspan></th></tr><tr><th>Name</th><th>Email</th><th>Interests</th></tr>";
        x = xmlDoc.getElementsByTagName("members");
        
        for(i= 0; i < x.length; i++){
            table += "<tr><td>" + x[i].getElementsByTagName("Name")[0].childNodes[0].nodeValue + "</td><td>" + 
            x[i].getElementsByTagName("Email")[0].childNodes[0].nodeValue + "</td><td>" + 
            x[i].getElementsByTagName("Interests")[0].childNodes[0].nodeValue + "</td></tr>";
        }
        document.getElementById("members").innerHTML = table;
    }   
</script>

连同此代码,我没有让它加载我的 members.xml 文件,即使我用

调用
xmlhttp.open("GET",true);

我是初学者,所以放轻松:-)

解决方法

您在 myFunction 中有语法错误,colspan 属性没有正确转义,这导致您的脚本标记的内容被丢弃。如果你把函数放在它们自己的标签里,只有 myFunction 不会被定义。

table = "<tr><th colspan=\"0\">Informatics Club Membership</colspan></th></tr><tr><th>Name</th><th>Email</th><th>Interests</th></tr>";

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。