通过ajax跨域请求获取xml数据

时间:2012-08-21 16:53:22

标签: jquery ajax

我正在尝试访问一个起诉jquery和ajax调用的xml文件。我发现除非您在Web服务器上进行一些配置更改,否则不允许跨域请求。

我这样做:

$(document).ready(function () {

$("#div1").jstree({

    "xml_data": {

        "ajax": {
            type: "GET",
            dataType: 'xml', 
            url: "http://192.168.101.1/img/tree.xml"

我修改了iis web.config文件,如下所示:

<?xml version="1.0" encoding="utf-8"?>
  <configuration>
    <system.webServer>
      <httpProtocol>
        <customHeaders>
          <add name="Access-Control-Allow-Origin" value="*" />
        </customHeaders>
      </httpProtocol>
    </system.webServer>
  </configuration>

Recycled IIs但我仍然无法访问该xml文件。我有什么想法可以解决这个问题吗?

2 个答案:

答案 0 :(得分:0)

尝试向您的应用发送ajax请求,并从应用中获取此xml,以免打扰跨域调用。

答案 1 :(得分:0)

也许您需要在服务器中设置your crossdomain.xml

放置项目根目录的示例:

<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
    <allow-access-from domain="*" />
    <site-control permitted-cross-domain-policies="master-only"/>
    <allow-http-request-headers-from domain="*" headers="*" secure="true"/>
</cross-domain-policy>

还值得一读to place the file