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

3

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

<script>$(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("<b>Name</b>: "+name+"<br>");
        document.write("<b>Email</b>: "+email+"<br>");
        document.write("<b>Phone Number</b>: "+phone_number+"<br>");
      })
    }
   });
});
</script>
3个回答

8

3

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

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

(本地服务器必须与JavaScript代码执行的域相同)


只需让您的本地服务器通过某个本地URL请求该.xml文件即可...您可以直接复制它,或者如果它经常更改,则向其发出请求。 - Luca Matteis

2
有几种方法可以解决这个问题,但是通常的方法是从服务器端向其他站点发出请求,然后将结果返回给客户端。因此,在您的情况下,您可以向运行在本地服务器上的服务器端代码发出Ajax调用。该代码将会:
  • 从远程服务器请求xml文件
  • 将结果返回给您的客户端代码
  • 然后您可以像目前一样解析xml
以下文章提供了可能解决此问题的方法指南,包括标准代理方法。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接