2011-04-28 92 views
-1

我正试图读取一个xml文件,但ajax代码我一直在错误而不是成功。什么可能导致这个?我的ajax代码有什么问题?

$.ajax({ 
     type: "GET", 
     url: "xml/gallery.xml", 
     dataType: "xml", 
     success: function(xml) { 
      alert("Asd"); 

     }, 
     error: function() { 
      alert("ad"); 
     } 
    }); 

XML

<?xml version="1.0" encoding="utf-8" ?> 
<gallery> 
    <image src="images/field.jpg"/> 
</gallery> 
+0

这可能是一个愚蠢的问题,但你确定路径是正确的吗? – Kokos 2011-04-28 13:45:33

+1

我知道你的问题出了什么问题:标题和事实你不告诉我们什么是“不工作”或你得到什么样的错误。 – Bobby 2011-04-28 13:45:47

回答

0

AJAX请求无法访问本地文件系统,因此这样的请求将失败。

您将需要在Web服务器上建立页面。

您可以使用XAMPP或类似的基本Web服务器在本地机器上测试。

1

试着改变你的error处理程序

error: function(jqXHR, textStatus, errorThrown){alert(textStatus + ': ' + errorThrown);} 

这应该让你看到更多的错误信息。

+0

我已将您的代码复制到我的代码中,但是当它显示时,它显示的实际错误是空白“错误:(空白)” – DMar 2011-04-28 13:46:22

+2

您正在服务器上运行此操作?不关闭本地文件系统...正确? – scunliffe 2011-04-28 13:47:58

+0

它位于我的桌面上的一个文件夹中,因此位于本地。这可能是问题吗? – DMar 2011-04-28 13:48:58

0

什么是您的Ajax函数所在页面的位置,以及您尝试加载的XML文件的绝对路径是什么?

您正在使用相对路径(xml/gallery.xml)引用您的XML,因此如果XML不在您使用Ajax函数的页面的子目录xml RELATIVE中,则会失败。这可能是导致你问题的原因。

0

您是否正在使用LAMP堆栈(或类似XAMPP的?)运行网站。如果您试图直接从桌面上的html文件运行上述代码,则无法运行。

http://api.jquery.com/jQuery.ajax/

我强烈reccomend使用像XAMPP甚至更好的运行Linux的副本(计算机上或作为VM) - 你计划在部署环境匹配