+ -
当前位置:首页 → 问答吧 → 大家讨论下对跨域加载xml文件,有什么好的解决方案.

大家讨论下对跨域加载xml文件,有什么好的解决方案.

时间:2009-05-07

来源:互联网


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
  <TITLE> New Document </TITLE>
    <script type="text/javascript" src="core/jquery-1.3.1.min.js"></script>
<link href="/css/site.css" rel="stylesheet" type="text/css" />
<!---sina rss---->
<Script Language="JavaScript">
$(document).ready(function(){
    $("#div1").GetRSS('http://rss.sina.com.cn/news/marquee/ddt.xml');  //在firefox下会出错,在IE下会出现警告框,如何解决????
})
    jQuery.fn.GetRSS=function(str){
        var strURL=str;
        var self=this;
        $.ajax({
            type:'GET',
            dataType:'xml',
            [url=strURL]url:strURL[/url],
            success:function(xml){
                var myTitle;
                var myLink;
                $('item',xml).each(function(e){
                    myTitle=$('title',this).text();
                    myLink=$('link',this).text();
                    $('<a></a>').attr('href',myLink).attr('target','_blank').text(myTitle).appendTo(self);
                    $('<br/>').appendTo(self);
                });
            }
        });
    }
</Script>

<TITLE></TITLE>
</HEAD>
<BODY>
<div id="div1"></div>
</BODY>
</HTML>


作者: seekarmor   发布时间: 2009-05-07

最好的办法是不用XML…

JSONP方便多了

http://www.keakon.cn/bbs/thread-1026-1-1.html

作者: keakon   发布时间: 2009-05-07

ls的兄弟说的不错

作者: seekarmor   发布时间: 2009-05-07

终于找到好的解决方案了,就是在后台服务器端,后台读取是没有跨域限制了,后台读取了以后,再以xml形式输出到前台,再以ajax调用这个文件就可以了.

作者: seekarmor   发布时间: 2009-05-17

那样占用了服务器的带宽,且如果是用虚拟主机,不是所有的都支持socket的,网速慢时还会造成服务器端超时

作者: keakon   发布时间: 2009-05-17

如果是楼主这种第三放的xml,你可以用yql之类的工具转换成jsonp,然后再在你的页面里调用。也免得你自己的服务器受累了。
坏处就是多依赖一个第三方服务了

作者: shawphy   发布时间: 2009-05-17

yql是个不错的东西

select * from xml where url='http://rss.sina.com.cn/news/marquee/ddt.xml'

http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20xml%20where%20url%3D'http%3A%2F%2Frss.sina.com.cn%2Fnews%2Fmarquee%2Fddt.xml'&format=json&callback=cbfunc

作者: keakon   发布时间: 2009-05-17

呵呵,是啊,yql是很赞的。

作者: shawphy   发布时间: 2009-05-17

相关阅读 更多