• <fieldset id="8imwq"><menu id="8imwq"></menu></fieldset>
  • <bdo id="8imwq"><input id="8imwq"></input></bdo>
    最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
    問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
    當前位置: 首頁 - 科技 - 知識百科 - 正文

    Ajax跨域的完美解決方案

    來源:懂視網 責編:小采 時間:2020-11-27 22:51:47
    文檔

    Ajax跨域的完美解決方案

    Ajax跨域的完美解決方案:公司要做一個活動頁面,在其過程中發現所有的接口,ajax請求跨域。這里對跨域做個簡單介紹以及提供幾種解決辦法。 由于瀏覽器實現的同源策略的限制,XmlHttpRequest只允許請求當前源(域名、協議、端口)的資源,所以AJAX是不允許跨域的。這里提供自己常用的
    推薦度:
    導讀Ajax跨域的完美解決方案:公司要做一個活動頁面,在其過程中發現所有的接口,ajax請求跨域。這里對跨域做個簡單介紹以及提供幾種解決辦法。 由于瀏覽器實現的同源策略的限制,XmlHttpRequest只允許請求當前源(域名、協議、端口)的資源,所以AJAX是不允許跨域的。這里提供自己常用的

    公司要做一個活動頁面,在其過程中發現所有的接口,ajax請求跨域。這里對跨域做個簡單介紹以及提供幾種解決辦法。

      由于瀏覽器實現的同源策略的限制,XmlHttpRequest只允許請求當前源(域名、協議、端口)的資源,所以AJAX是不允許跨域的。這里提供自己常用的三種方法:

    1、jsonp訪問

      JSONP(JSON with Padding)是一個非官方的協議,它允許在服務器端集成Script tags返回至客戶端,通過javascript callback的形式實現跨域訪問;

    實現方式

      1)

    <script type="text/javascript"> 
     $.ajax({ 
     url:url, 
     dataType:'jsonp', 
     data:'', 
     jsonp:'callback', 
     success:function(result) { 
     }, 
     }); 
    </script> 

      2)

    $.getJSON(url+"?callback=?", 
     function(result) { 
     });

    注:1】 jsonp只能用get請求,哪怕你用了post請求,也會自動給你轉換成post;

      2】 jsonp 不僅可以用來獲取數據,也可以用來提交數據。

    2、damain 方法

      在主域相同,子域不同的情況下可以用這種方法,修改域名指向,讓他們指向同一域名,這種辦法也只能解決主域相同而二級域名不同的情況,兩個毫無關系的網址是不可以用這種方法的;

    document.domain = 'a.com'

    注:在實際開發中,很多人會在本地調試接口,localhost的域名和公司的域名完全不一樣,所有用了domain這種辦法也無法產生效果,解決辦法是修改c盤里的host文件,把本地地址localhost修改成公司域名或者公司二級域名,然后這種方法就可以使用了。

    下面是修改的域名指向:

    #127.0.0.1  localhost
    127.0.0.1   公司.com

    3、postMessage

      postMessage是h5的一個新功能之一,由于我們是一家做h5游戲的公司,不可避免的要嵌套iframe,方便數據提交等。

      這里假設,iframe的Id為 ‘iframe';

      在iframe里面的js里要寫上

    var message = 'date';<br>if (parent.document.getElementById(‘iframe‘)) {
     //捕獲iframe
     var iframe = parent.document.getElementById(‘iframe').contentWindow;
     //發送消息
     parent.postMessage(message, "*");
     }

      在iframe外面的js里要寫上

    window.addEventListener('message',function(e){
     },false);

      然后就可以拿到message的數據了。

    以上所述是小編給大家介紹的Ajax跨域的完美解決方案,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!

    聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    Ajax跨域的完美解決方案

    Ajax跨域的完美解決方案:公司要做一個活動頁面,在其過程中發現所有的接口,ajax請求跨域。這里對跨域做個簡單介紹以及提供幾種解決辦法。 由于瀏覽器實現的同源策略的限制,XmlHttpRequest只允許請求當前源(域名、協議、端口)的資源,所以AJAX是不允許跨域的。這里提供自己常用的
    推薦度:
    • 熱門焦點

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 欧美777精品久久久久网| 久久精品中文字幕一区| 国产三级精品三级在专区| 亚洲精品视频在线| 国产精品1024视频| 99久久精品无码一区二区毛片| 99久久精品免费看国产一区二区三区| 最新国产精品无码| 热re99久久精品国99热| 久久久免费精品re6| 精品国产呦系列在线观看免费| 欧美国产成人精品一区二区三区| 久久久久九国产精品| 久热这里只精品99re8久| 久久国产亚洲精品无码| 精品亚洲永久免费精品| 国产精品v欧美精品v日本精| 精品福利一区二区三区免费视频 | 少妇人妻偷人精品无码视频 | 成人精品一区二区久久久| 国产欧美亚洲精品A| 宅男在线国产精品无码| 国产精品原创巨作av女教师| 青青青国产精品国产精品久久久久 | 国产精品日韩深夜福利久久| 国产91精品在线观看| 亚洲精品视频在线| 国产精品igao视频网网址| 特级精品毛片免费观看| 亚洲综合精品网站在线观看| 亚洲国产精品尤物yw在线| 精品人伦一区二区三区潘金莲| 亚洲精品97久久中文字幕无码| 久久精品无码一区二区三区免费| 国内精品视频九九九九| 国产区精品高清在线观看| www.精品| 国产精品亚洲视频| 国产精品自在欧美一区| 国产在线精品一区二区不卡麻豆| 国产精品∧v在线观看|