无法使用jQuery读取XML文件

时间:2013-07-12 22:20:35

标签: javascript jquery xml

我在我的机器本地设置的apache的htdoc下有一个XML文件和一个HTML。

我正在尝试读取该xml文件,但我没有得到任何回复。它甚至没有警告状态。此外,如果我给出无效的文件名,它没有显示任何差异。 xml文件有效。谁能告诉我我失踪的地方。

<script>

$(document).ready(function(){
    console.log('hey');
    $.ajax({
    type: "GET",
    url: "feedTest.xml",
    cache: false,
    dataType: "xml",
    success: function(xml){
        alert(status);
        }

    });
$("#output").append("Some Text");
});   

function parseXML(xml){
    $(xml).find("mainPage").each(function(){
        console.log("I'm in");
        $("#output").append($(this).attr("time") + "<br/>");
    });
}
</script>
<body>
<div id="output">
    Hello
</div>

XML文件:

<?xml version="1.0"?>
<!-- 
Comments
 -->

<dashboard>
<mainPage time="20">
    <horizontal>2</horizontal>
    <vertical>3</vertical>
    <loop set="true"></loop>
    <files>
        <name time="10">a</name>
        <name time="10">b</name>            
    </files>
</mainPage> 
</dashboard>

2 个答案:

答案 0 :(得分:0)

首先,正如dSquared所说,检查回复您的请求的内容 - 我会在broswer中推荐som开发人员工具,您可以在其中查看每个请求和响应。

如果文件名无效,请检查您的路径 - 您的"feedTest.xml"是否与您的脚本页面在同一目录中?

答案 1 :(得分:0)

$(document).ready(function(){

    $.ajax({
    type: "GET",
    url: "feedTest.xml",
    cache: false,
    dataType: "xml",
    success: function(xml){


    $(xml).find("mainPage").each(function(){
        console.log("I'm in");
        $("#output").append($(this).attr("time") + "<br/>");
    });


        }

    });

});   

函数解析xml是多余的,它是外部成功处理程序(它没有被调用)。编辑:你可以这样使用它,但是:

.....

success: function(xml){
        alert(status);
        parseXML(xml);
        }

...