2014-11-21 40 views
-1

我想用一个XML文件来创建一个带有jQuery的动态网站。

在本地网络服务器上测试时,我通过开发人员控制台在铬上看到xml文件不可见。

当在本地文件打开网页(不使用web服务器),我收到以下错误:

的XMLHttpRequest无法加载文件///。交叉来源请求只支持协议方案:http,data,...

我读XMLHttpRequest cannot load file. Cross origin requests are only supported for HTTP,但是因为我使用的是IIS本地服务器,所以我已经规定了这一点。

我读XML代码:

$.ajax({ 

    type: "GET", 
    url: "data.xml", 
    dataType: "xml", 
    success: function(xml){ 
     var xmlDoc = $.parseXML(xml); 
     var root = $(xmlDoc).find("root"); 
     alert(root); 
    } 

}); 

项目我已经存在了几个文件:

index.html 
code.js   ==> my own code 
jquery.js   ==> jquery code 
style.css 
data.xml 
Web.config   ==> I'm not entirely sure if i need this since i won't be using connections. 
Website.sln  ==> I use a vs2013 express edition 

这是我与jQuery和虽然添加和掉落的第一个项目html内容完美地工作,读出一个XML文件让我无法自拔。我通过visual studio express创建了一个web.config文件,但我不完全确定我需要这个。

编辑:

有以下改动我得到了它做:

首先:更换data.xml中的子目录(我不知道这是否是这个或没有)

其次:删除parseXML功能并为

$(this).find(name).each(function(){ //your code }); 

呃瞧,没有回编程...

+0

你不能用javascript访问本地文件。你应该使用本地服务器。 – 2014-11-21 08:13:16

+0

如果您确实想这样做,请尝试对PHP脚本进行常规Ajax调用,以便读取XML数据并返回内容。然后你可以尝试解析它。 – Nick 2014-11-21 08:16:25

+0

@VincentBeltman我通过VS运行时使用本地IIS服务器,我忘了什么? – Schuere 2014-11-21 08:21:00

回答

0

有以下改动我得到了它做:

首先:更换data.xml中的子目录(我不知道这是否是这个或没有)

二:删除parseXML功能并对于一个

$(this).find(name).each(function(){// your code});

然后url变成了= url: "../data/data.xml",