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

开发者社区> 问答> 正文

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

2016-07-15 14:41:51 2134 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
相关问答

1

回答

jquery.ajax的success的回调函数

2016-05-31 11:02:44 1741浏览量 回答数 1

1

回答

jquery ajax请求后,不论结果如何,success和error都会执行

2016-05-31 10:32:50 3408浏览量 回答数 1

1

回答

使用jquery ajax刷新出来的数据,是不是就无法再调用jquery?

2016-05-27 08:54:31 1606浏览量 回答数 1

1

回答

怎样在外部读取到jquery ajax中回调函数的值

2016-05-27 08:51:40 1766浏览量 回答数 1

1

回答

jquery ajax的success中给外部定义的变量赋值,外部引用的话为空?

2016-03-26 09:07:46 2056浏览量 回答数 1

1

回答

jquery ajax 如何避免重复提交

2016-03-24 10:44:49 1618浏览量 回答数 1

1

回答

jquery $.ajax() 同步与异步区别

2016-03-24 10:29:52 1834浏览量 回答数 1

1

回答

用 jquery ajax 实现点击图片提交form问题

2016-03-24 09:31:02 1550浏览量 回答数 1

1

回答

如何判断多个Jquery.ajax全部请求完毕?

2016-03-11 13:48:12 1791浏览量 回答数 1

1

回答

jquery ajax post提交在windows下正常,linux下就乱码了,什么原因呢?

2016-03-05 13:31:00 2490浏览量 回答数 1
+关注
0
文章
14879
问答
问答排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载