2013-07-12 142 views
0

我有一个XML文件和HTML下htdocs的我已经在我的机器本地设置的Apache。无法使用jQuery读取XML文件

我试图读取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> 
+1

你有没有尝试添加错误处理程序到你的$就要求用警惕看什么回来? – dSquared

+0

@dSquared感谢您的想法。我试过了,得到这个:[Exception ...“”nsresult:“0x805e0006()”location:“JS frame :: http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery .min.js :: .send :: line 6“data:no] – Crocode

+0

听起来像是一个跨域问题,是与脚本调用它在同一个域的同一个端口上的XML文件吗? – dSquared

回答

0

首先,作为DSQUARED指出,检查哪些又回到了你的要求 - 我建议里面broswer,在这里你可以看到每一个请求和响应索姆开发工具。

如果没有具有无效的文件名没有区别,请检查您的路径 - 你是真的"feedTest.xml"在同一目录与脚本的网页?

+0

是的,我可以从浏览器的相同位置访问feedTest.xml。 – Crocode

+0

你在浏览器中使用AdBlock吗? – betatester07

+0

对不起。现在正在工作。我认为这与编辑有关。我早些时候在文件上做了“另存为”。现在我关闭了它。它开始工作。谢谢 – Crocode

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/>"); 
    }); 


     } 

    }); 

}); 

function parse xml是多余的,它在成功处理程序之外(它没有被调用)。编辑:您可以使用,无论它在这条路上,:

.....

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

....