Ajax有条件的跨域访问

有网友说通过Iframe等一系列操作能实现Ajax的跨域操作,可惜我都没测试成功,可能我太笨了,先敲下自己。

前不久帮人搞sina的股票实时图,我去查看了sina的源代码,顺便扣了下来,经自己的改造成了如下形式:

if(document.getElementById('MyScript')){

                    document.body.removeChild(document.getElementById('MyScript'));

                }

                var element = document.createElement("script");

                element.id='MyScript';

                element.type = "text/javascript";        

                element.charset = "gb2312";

                

                if(typeid==0){

                    element.src = "http://hq.sinajs.cn/rn=" + (new Date()).getTime() + "&list=s_sh000001";

                }else if(typeid==1){

                    element.src = "http://hq.sinajs.cn/rn=" + (new Date()).getTime() + "&list=s_sz399001";

                }



                element[document.all ? "onreadystatechange" : "onload"] = function () {

                    if (document.all && this.readyState != "loaded" && this.readyState != "complete") {

	                    return;

                    }

                    var Stock;

                    if (window["hq_str_s_sh000001"] && typeid==0){

                        Stock=window["hq_str_s_sh000001"].split(',');           

                    }else if(window["hq_str_s_sz399001"] && typeid!=0){

                        Stock=window["hq_str_s_sz399001"].split(',');  

                    }

                    if(Stock.length>0){

                        CurStock.sum_name=Stock[0];

                        CurStock.sum_curNum=Stock[1];

                        CurStock.sum_chanRate=Stock[3];

                    }

                    CurStock.picurl=getImage(typeid);

                    WriteStock();

                }

                document.body.appendChild(element);

 

这样子实际上是跨域去访问了sina的http://hq.sinajs.cn/,我们再看看http://hq.sinajs.cn/ 页面

var hq_str_s_sh000001="上证指数,2961.588,-62.652,-2.07,454324,5217669"; 

 

就是一段javascript代码,当然是动态生成的。

既然这样,我们在Ajax中也应该可以这么去做,从而达到跨域访问;条件是访问页面必须是javascript格式

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值