在html中添加crossdomain

时间:2012-04-14 11:37:45

标签: javascript xml

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

<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>

2 个答案:

答案 0 :(得分: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();
        // ....

      });
    }
  });
});

答案 1 :(得分:0)

如果您可以控制域的后端,那么您可能会拥有类似PHP to read the remote XML的内容。您的服务器将充当JS代码和远程XML的桥/代理。自JS can't talk over other domains起,您就会要求您的服务器(在您的域中)为您阅读。