<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
    數(shù)據(jù)加載中……

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

    什么情況下才會出現(xiàn)跨域
    假設(shè)域名是:http://www.example.com.cn/
    如果所請求的域名跟這個域名不致,這種情況就是跨域,由于跨域存在漏洞,所以一般來說正常的跨域請求方式是請求不到的。
    解決方式
    一、window.name
        1、 服務(wù)器返回
    <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的內(nèi)容,注意必須進(jìn)行同域處理后方可訪問!
                        var data = document.getElementById('iframe1').contentWindow.name;
                        alert(data);  // {"id":"3", "name":"leisure"}
                        load = false;
                    }
            }
        </script>
        3、定義一個form,設(shè)置form的target為iframe的id,然后提交form
        <form  action="url" method="POST" target="iframe1">
              <button type="submit" value="submit" />
        </form>
    二、JSONP
        服務(wù)器返回 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
        服務(wù)器返回 json格式數(shù)據(jù) test({"id": "3", "name": "leisure"}); test函數(shù)名為callback參數(shù)中定義
        $.getJSON(url + "?callback=?", data, function(data) {
        }
        注意callback=?這個參數(shù)必須帶上,jquery會自動生成一個函數(shù)名替換這個問號!jQuery.getJSON實際上是用了JSONP方式實現(xiàn)。
    四、flash跨域
        服務(wù)器添加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跨域請求的幾種解決方法  回復(fù)  更多評論   

    afa
    2014-04-14 15:51 | saf
    主站蜘蛛池模板: 大地资源在线观看免费高清| 免费无码又爽又刺激高潮视频| 久久精品免费一区二区喷潮| 亚洲第一精品福利| 免费看男人j放进女人j免费看| 国产亚洲午夜高清国产拍精品| 丁香六月婷婷精品免费观看| 亚洲av日韩片在线观看| 特级毛片免费观看视频| 亚洲性久久久影院| 成人无码WWW免费视频| 亚洲人成依人成综合网| 亚洲免费在线视频观看| 亚洲综合精品成人| 免费大黄网站在线观| 中文在线观看永久免费| 亚洲五月六月丁香激情| AA免费观看的1000部电影| 亚洲欧美日韩中文无线码 | 日韩精品无码免费视频| 亚洲综合色成在线播放| 国产永久免费高清在线| 亚洲高清无在码在线电影不卡| 可以免费看黄的网站| 国产成人精品日本亚洲语音| 亚洲欧洲∨国产一区二区三区| 日韩精品极品视频在线观看免费| 亚洲一级免费视频| 亚洲日本中文字幕天堂网| 永久免费av无码网站yy| 亚洲人成网男女大片在线播放| 又黄又爽无遮挡免费视频| 日韩电影免费在线观看| 亚洲午夜无码久久久久小说| 久久精品国产精品亚洲人人 | 亚洲国产精品成人综合色在线| 成人亚洲综合天堂| 中文字幕在线观看免费视频| 亚洲精品无AMM毛片| 久久亚洲精品AB无码播放| 午夜私人影院免费体验区|