婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Ajax跨域的完美解決方案

Ajax跨域的完美解決方案

熱門標簽:怎樣在地圖標注文字 東平縣地圖標注app 上海企業外呼系統價錢 地圖標注推銷坑人 大眾點評400電話怎么申請 河間市地圖標注app 電銷機器人 長春 中國地圖標注不明確情況介紹表 立陶宛地圖標注

公司要做一個活動頁面,在其過程中發現所有的接口,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跨域的完美解決方案,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!

您可能感興趣的文章:
  • jQuery.ajax 跨域請求webapi設置headers的解決方案
  • IE9 IE8 ajax跨域問題的快速解決方法
  • 使用Nginx 反向代理來避免 ajax 跨域請求的方法
  • Python的Django應用程序解決AJAX跨域訪問問題的方法
  • Ajax跨域問題的解決辦法匯總(推薦)
  • 深入淺析Jsonp解決ajax跨域問題
  • Ajax 跨域如何實現

標簽:本溪 益陽 銅川 遼寧 玉樹 內江 四川 營口

巨人網絡通訊聲明:本文標題《Ajax跨域的完美解決方案》,本文關鍵詞  Ajax,跨域,的,完美,解決方案,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Ajax跨域的完美解決方案》相關的同類信息!
  • 本頁收集關于Ajax跨域的完美解決方案的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 张家港市| 许昌市| 英吉沙县| 普定县| 香港 | 三原县| 奉新县| 文成县| 唐河县| 佛坪县| 德阳市| 江安县| 邵阳县| 尚志市| 芮城县| 华坪县| 阿勒泰市| 石屏县| 山丹县| 余干县| 巴青县| 鄂伦春自治旗| 齐河县| 宝兴县| 原阳县| 敦煌市| 三江| 岫岩| 武隆县| 邹城市| 依兰县| 琼结县| 卢龙县| 九龙县| 科技| 扎兰屯市| 土默特左旗| 溧水县| 临城县| 华坪县| 安龙县|