<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    leisure

    JAVA - exceed,helloworld
    隨筆 - 50, 文章 - 0, 評論 - 11, 引用 - 0
    數據加載中……

    Javascript跨域請求的幾種解決方法

    什么情況下才會出現跨域
    假設域名是:http://www.example.com.cn/
    如果所請求的域名跟這個域名不致,這種情況就是跨域,由于跨域存在漏洞,所以一般來說正常的跨域請求方式是請求不到的。
    解決方式
    一、window.name
        1、 服務器返回
    <script>window.name='{"id":"3", "name":"leisure"}';</script>
        2、定義一個iframe,添加onload事件 <iframe id="iframe1" onload="iLoad"><iframe>
        <script type="text/javascript">
            var load = false;
                function iLoad() {
                    if(load == false) {
                        // 同域處理,請求后會再次重新加載iframe
                        document.getElementById('iframe1').contentWindow.location = '/';         
                        load = true;
                    } else {
                        // 獲取window.name的內容,注意必須進行同域處理后方可訪問!
                        var data = document.getElementById('iframe1').contentWindow.name;
                        alert(data);  // {"id":"3", "name":"leisure"}
                        load = false;
                    }
            }
        </script>
        3、定義一個form,設置form的target為iframe的id,然后提交form
        <form  action="url" method="POST" target="iframe1">
              <button type="submit" value="submit" />
        </form>
    二、JSONP
        服務器返回 callback({"id": "3", "name": "leisure"});
        <script type="text/javascript">
            function callback(data) {
                alert(data);
            }
        </script>
        <script type="text/javascript" src="http://www.example.com.cn/product.jsp?id=5&jsonp=callback"></script>
    三、jQuery.getJSON
        服務器返回 json格式數據 test({"id": "3", "name": "leisure"}); test函數名為callback參數中定義
        $.getJSON(url + "?callback=?", data, function(data) {
        }
        注意callback=?這個參數必須帶上,jquery會自動生成一個函數名替換這個問號!jQuery.getJSON實際上是用了JSONP方式實現。
    四、flash跨域
        服務器添加crossdomain.xml
        http://www.example.com.cn/crossdomain.xml
        <?xml version="1.0"?>
        
    <cross-domain-policy>
            
    <allow-access-from domain="*.another.com.cn" />
        
    </cross-domain-policy>

    posted on 2011-09-29 22:57 leisure 閱讀(8046) 評論(1)  編輯  收藏 所屬分類: javascript

    評論

    # re: Javascript跨域請求的幾種解決方法  回復  更多評論   

    afa
    2014-04-14 15:51 | saf
    主站蜘蛛池模板: 亚洲一区二区免费视频| 久久青草91免费观看| 国产又长又粗又爽免费视频| 亚洲一区二区三区播放在线 | 456亚洲人成在线播放网站| jjizz全部免费看片| 亚洲黄色在线观看视频| 日韩在线播放全免费| 亚洲制服丝袜一区二区三区| 美女网站免费福利视频| 亚洲精品理论电影在线观看| 激情综合亚洲色婷婷五月APP| 国内精品免费麻豆网站91麻豆 | av电影在线免费看| 国产亚洲精品资在线| 国产亚洲精aa在线看| 久久久99精品免费观看| 亚洲图片在线观看| 免费观看AV片在线播放| 亚洲欧美日韩中文无线码 | 永久免费精品影视网站| 亚洲精品狼友在线播放| 99久在线国内在线播放免费观看| 亚洲国产专区一区| 亚洲欧美日韩综合久久久久| 国产免费AV片无码永久免费| 一级毛片免费视频网站| 亚洲大尺度无码无码专区| 一日本道a高清免费播放| 国产亚洲精品a在线观看app| 亚州免费一级毛片| jizzjizz亚洲日本少妇| 人人狠狠综合久久亚洲婷婷| 免费h片在线观看网址最新| 亚洲AV女人18毛片水真多| 在线日韩日本国产亚洲| 2021精品国产品免费观看| 久久亚洲精品人成综合网| 毛片基地免费观看| 亚洲av日韩av永久无码电影| 亚洲日韩v无码中文字幕|