【问题标题】:Display simple XML data into an HTML page在 HTML 页面中显示简单的 XML 数据
【发布时间】:2015-05-09 08:32:25
【问题描述】:

如果这是一个非常基本的问题,我很抱歉,但我真的被困在这里,我没有太多时间。 因此,我创建了一个包含数据的 xml 文件,并希望使用 javascript 在 html 中显示它,但我得到的只是一个空白页。这是我的 xml 文件:

<?xml version="1.0" encoding="UTF-8"?>

<text>
    <content>  a random text </content>
</text>

这是我的 html 文件 xml

    <script>
        document.write("begin");
        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","text.xml",false);
        xmlhttp.send();
        xmlDoc=xmlhttp.responseXML; 

        var x=xmlDoc.getElementsByTagName("text");
        document.write(x[0].getElementsByTagName("content")    [0].childNodes[0].nodeValue);
    </script>

</body>
</html>

也许它使用 httpRequest 所以它需要一个服务器,但是我尝试了 apache 并且它不起作用。

编辑:我在 chrome 中打开控制台,它说错误在xmlhttp.send(); 行中,错误说“跨源请求仅支持协议方案:http、data、chrome、chrome-extension、https、chrome -扩展资源。”

编辑:它在 mozilla 上有效,但在 chrome 中无效

【问题讨论】:

    标签: javascript html xml load


    【解决方案1】:

    打开浏览器的开发者工具。转向控制台。查看错误消息。


    你从不定义i,所以你会在document.write(x[i]上得到一个引用错误

    【讨论】:

    • 谢谢,我打开控制台显示错误在 18 中,即“xmlhttp.send();”错误“跨源请求仅支持协议方案:http、data、chrome、chrome-extension、https、chrome-extension-resource。”我认为是因为该文件与页面位于同一文件夹中
    • 需要使用绝对URL到达text.xml,如http://yourwebsite.com/path/to/test.xml
    • @user3171173 — 该错误意味着您需要使用 Web 服务器。许多 Web 浏览器不允许您在没有 HTTP 的情况下使用 XMLHttpRequest。您已经注意到这一点并说您在问题中使用了 Apache。这样就解决了。
    • 谢谢大家,它现在可以在两种浏览器上使用,抱歉这个问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-03-18
    • 2012-11-25
    • 1970-01-01
    • 2023-03-13
    • 1970-01-01
    • 2015-06-09
    • 1970-01-01
    相关资源
    最近更新 更多