1

当我在本地服务器上下载 xml 文件时,我从 xml 文件中获取数据,它工作正常,但是当我提供 xml 文件的在线路径时,它不起作用。我读到了一些关于我认为这是一个跨域问题的内容,但是如何在 html 中调用跨域文件。

<script type="text/javascript">
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }



xmlhttp.open("GET","http://www.mydomain.com./myfile/xml_9646.xml",false);
xmlhttp.send();

xmlDoc=xmlhttp.responseXML; 


</script>
4

2 回答 2

1

如果服务器实施CORS,您可以

https://stackoverflow.com/a/10083975/295783

$(document).ready(function() {
  jQuery.support.cors = true; // IMPERATIVE for IE(8) support
  $.ajax({
    type: "GET",
    url: "http://itunes.apple.com/au/rss/topfreeapplications/limit=10/xml?partnerId=1002&partnerUrl=http%3A%2F%2Fwww.s2d6.com%2Fx%2F%3Fx%3Dc%26z%3Ds%26v%3D3868801%26t%3D",
    dataType: "xml",
    success: function(xml) {
      $(xml).find('...').each(function(){
        var id = $(this).find("...").text();
        // ....

      });
    }
  });
});
于 2012-04-14T11:49:28.220 回答
0

如果您可以控制域的后端,则可以使用PHP 之类的东西为您读取远程XML。您的服务器将充当 JS 代码和远程 XML 的桥梁/代理。由于JS 不能与其他域对话,因此您要求您的服务器(在您的域中)为您读取它。

于 2012-04-14T11:43:53.733 回答