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

主頁(yè) > 知識(shí)庫(kù) > PHP下ajax跨域的解決方案之window.name實(shí)例分析

PHP下ajax跨域的解決方案之window.name實(shí)例分析

熱門(mén)標(biāo)簽:嘟嘟云外呼系統(tǒng) 南寧電話外呼系統(tǒng)線路 辦理400電話哪家好點(diǎn) 邢臺(tái)400電話辦理 正規(guī)電銷(xiāo)機(jī)器人系統(tǒng) 重慶外呼電銷(xiāo)系統(tǒng)多少錢(qián) 咸陽(yáng)電銷(xiāo) 濟(jì)源百應(yīng)電銷(xiāo)機(jī)器人聯(lián)系方式 南京3D地圖標(biāo)注

本文實(shí)例講述了PHP下ajax跨域的解決方案之window.name。分享給大家供大家參考,具體如下:

原理核心:window對(duì)象的name屬性是一個(gè)很特別的屬性,當(dāng)該window的location變化,然后重新加載,它的name屬性可以依然保持不變。

依此原理,我們可以在頁(yè)面A中用iframe加載其他域的頁(yè)面B,而頁(yè)面B中用JavaScript把需要傳遞的數(shù)據(jù)賦值給 window.name,頁(yè)面A的iframe加載完成之后,頁(yè)面A修改iframe的地址,將其變成同域的一個(gè)地址,然后就可以讀出window.name的值了。

例:有兩個(gè)網(wǎng)站www.a.com和www.b.com,我們要在www.a.com/a.html下獲取www.b.com/data.html數(shù)據(jù)。

我們需要三個(gè)文件:

www.a.com 下的 a.html 獲取數(shù)據(jù)并顯示
www.b.com 下的data.html 提供數(shù)據(jù)
www.a.com 下的proxy.html 代理文件,與a.html同一域下,一般為空html文件。

www.b.com下的data.html如下:

!DOCTYPE html>
html>
head>
  meta charset="UTF-8">
  title>Insert title here/title>
/head>
body>
  script type="text/javascript">
    //添加需要傳遞的數(shù)據(jù),大小一般為2M,IE和firefox下可以大至32M左右
    window.name = '[{"name":"test1"},{"name":"test2"}]';
  /script>
/body>
/html>

www.a.com下的proxy.html如下:

!DOCTYPE html>
html>
head>
  meta charset="UTF-8">
  title>Insert title here/title>
/head>
body>
  !-- 空的html文件 -->
/body>
/html>

www.a.com下的a.html如下:

!DOCTYPE html>
html>
head>
  meta charset="UTF-8">
  title>Insert title here/title>
/head>
body>
 
!-- 用于引用www.b.com/data.html文件 -->
iframe id="iframe" src="">/iframe>
 
!-- 顯示獲取到的數(shù)據(jù) -->
div id="data">/div>
 
script type="text/javascript" src="./jquery.js">/script>
script type="text/javascript">
var ifr = document.getElementById("iframe");
ifr.src = "http://www.b.com/data.html";
if (ifr.attachEvent) {
  ifr.attachEvent("onload", loadfunc);
} else {
  ifr.onload = loadfunc;
}
 
var state = 0;
function loadfunc() {
  if(state == 0) {
    state = 1;
    ifr.contentWindow.location = "http://www.a.com/proxy.html";
  } else {
    var data = ifr.contentWindow.name;
    $.each($.parseJSON(data), function(i, v) {
      $("#data").append(v.name);
    });
     
    //銷(xiāo)毀iframe,保證安全
    ifr.contentWindow.document.write("");
    ifr.contentWindow.close();
    document.body.removeChild(ifr);
  }
}
/script>
/body>
/html>

更多關(guān)于PHP相關(guān)內(nèi)容可查看本站專(zhuān)題:《PHP+ajax技巧與應(yīng)用小結(jié)》、《PHP網(wǎng)絡(luò)編程技巧總結(jié)》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫(kù)操作入門(mén)教程》及《php常見(jiàn)數(shù)據(jù)庫(kù)操作技巧匯總》

希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。

您可能感興趣的文章:
  • ThinkPHP 5 AJAX跨域請(qǐng)求頭設(shè)置實(shí)現(xiàn)過(guò)程解析
  • PHP Ajax跨域問(wèn)題解決方案代碼實(shí)例
  • 原生js實(shí)現(xiàn)ajax請(qǐng)求和JSONP跨域請(qǐng)求操作示例
  • PHP下ajax跨域的解決方案之jsonp實(shí)例分析
  • 使用ajax跨域調(diào)用springboot框架的api傳輸文件
  • express如何解決ajax跨域訪問(wèn)session失效問(wèn)題詳解
  • Ajax跨域問(wèn)題及解決方案(jsonp,cors)
  • Ajax解決跨域之設(shè)置CORS響應(yīng)頭實(shí)現(xiàn)跨域案例詳解

標(biāo)簽:武漢 河南 通遼 南通 平頂山 唐山 黃山 隴南

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《PHP下ajax跨域的解決方案之window.name實(shí)例分析》,本文關(guān)鍵詞  PHP,下,ajax,跨域,的,解決方案,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《PHP下ajax跨域的解決方案之window.name實(shí)例分析》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于PHP下ajax跨域的解決方案之window.name實(shí)例分析的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 闻喜县| 东兰县| 应用必备| 浏阳市| 全州县| 获嘉县| 屏东县| 临泽县| 滦平县| 武胜县| 阳江市| 姜堰市| 漳州市| 镇雄县| 巴里| 台南县| 南澳县| 津南区| 西丰县| 玛多县| 曲阜市| 满洲里市| 老河口市| 沙河市| 武宁县| 大埔县| 遂宁市| 大英县| 会理县| 湖北省| 乐安县| 封丘县| 富平县| 宜州市| 横峰县| 四会市| 西城区| 宁化县| 海伦市| 蓬莱市| 天门市|