php+js+ajax 跨域读取远程动态xml文件-问答-阿里云开发者社区-阿里云

开发者社区> a123456678> 正文

php+js+ajax 跨域读取远程动态xml文件

2016-07-15 14:41:51 1888 1

今天偶然遇到一个js+ajax读取xml文件的需求,在操作中,遇到了些问题,比如:没有权限等,发来和大家分享一下。

js+ajax读取本地的xml时,是不会报错的,但是在读取远程动态生成的xml时,就会没有权限的error,出现跨域禁止访问的问题。一般出现这个问题,都会使用服务器端代理的方式来解决。

下面是php下使用的代理的代码:

取消 提交回答
全部回答(1)
  • a123456678
    2019-07-17 19:56:58

    get.php

    <?php 
        header("Content-Type:text/xml");
        $pararl = $_GET['geturl'];      
        if(!empty($pararl)) {
            echo file_get_contents($pararl);
        }
    ?>
    接下来是,query.html页面,处理js和ajax
    
    <html>
        <body>
    <script src="jquery.js"></script>
    <script>
    function query(geturl){
    $.ajax({   
        url:geturl,   
        type: 'GET',   
        dataType: 'xml',   
        timeout: 2000,   
        error: function(xml){   
            alert('Error loading XML document'+xml);   
        },   
        success: function(xml){   
            var code=[];
            var msg=[];
            $(xml).find("Result").each(function(i){   
                code[code.length]=$(this).children("Code").text();           
                msg[msg.length]=$(this).children("msg").text();          
            });
            //如果能找到code属性,并且第一个code的值为1,显示提示信息,否则,打印全部信息
             if(xmldata.code[0]=='1'){
                $("#data_div").html(msg);
            }else{
                $("#data_div").html(xml.responseText);
            }  
        }   
    });  
    }
    </script>
    <div>请输入url:<input type="text" value="http://baidu.com" size="30" id="geturl"><input type="button" name="btn" value="获取信息" onclick="query($('#geturl').val())"></div>
    <div id="data_div"></div>
    </body>
    </html>
    0 0
相关问答

4

回答

Spark 【问答合集】

社区小助手 2019-05-29 14:13:40 123673浏览量 回答数 4

162

回答

惊喜翻倍:免费ECS+免费环境配置~!(ECS免费体验6个月活动3月31日结束)

豆妹 2014-10-29 17:52:21 222952浏览量 回答数 162

145

回答

【新手入门】云服务器linux使用手册

fanyue88888 2012-11-26 17:14:18 157054浏览量 回答数 145

22

回答

爬虫数据管理【问答合集】

我是管理员 2018-08-10 16:37:41 146757浏览量 回答数 22

2

回答

mySQL数据库报错You have an error in your SQL syntax

落地花开啦 2016-02-14 16:09:24 126265浏览量 回答数 2

42

回答

【精品问答集锦】Python热门问题

小六码奴 2019-05-30 15:27:34 135474浏览量 回答数 42

249

回答

阿里云LNAMP(Linux + Nginx + Apache + MySQL + PHP)环境一键安装脚本

云代维 2014-02-14 15:26:06 302572浏览量 回答数 249

97

回答

Redhat/CentOS一键安装web环境全攻略

xiaofanqie 2011-08-11 14:51:38 123195浏览量 回答数 97

24

回答

【精品问答】python技术1000问(1)

问问小秘 2019-11-15 13:25:00 471300浏览量 回答数 24

14

回答

域名解析是正确的,但是网站打不开求助!

游客b4ezpaqg54gdq 2019-07-05 11:50:33 118798浏览量 回答数 14
+关注
0
文章
14879
问答
推荐问答
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载