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

时间:2010-07-08 17:07:40

标签: jquery xml

我使用此脚本使用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 个答案:

答案 0 :(得分:8)

Same Origin Policy会阻止远程访问。

答案 1 :(得分:3)

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

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

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

答案 2 :(得分:2)

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

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

  • 从远程服务器请求xml文件
  • 将结果返回到客户端代码
  • 然后您可以按照当前的步骤解析xml

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