如何使用jQuery解析远程XML文件

我使用这个脚本用jQuery解析XML文件,但只有在本地服务器上有XML文件时它才会运行。 您知道如何解析远程服务器上的XML文件吗?

$(document).ready(function(){ $.ajax({ type: "GET", url: "http://www.myotherwebsite.com/folder/myfile.xml", dataType: "xml", success: function(xml){ $(xml).find("user").each(function(){ var name = $(this).find("name").text(); var email = $(this).find("email").text(); var phone_number = $(this).find("mobile").text(); document.write("Name: "+name+"
"); document.write("Email: "+email+"
"); document.write("Phone Number: "+phone_number+"
"); }) } }); });

同源策略将阻止远程访问。

您无法仅使用JavaScript(浏览器)访问远程数据。

您需要一些本地服务器为您进行远程访问(代理)。

(正在执行JavaScript代码的域的本地)

有几种方法可以解决这个问题,但解决此问题的典型方法是从服务器端向另一个站点发出请求,然后将结果返回给客户端。

因此,在您的情况下,您可以对本地服务器上运行的服务器端代码进行Ajax调用。 这段代码将:

  • 从远程服务器请求xml文件
  • 将结果返回到客户端代码
  • 然后,您可以像当前一样解析xml

以下文章提供了解决此问题的可能方法的指南,包括标准代理方法。