花魁直播高品质美女在线视频互动社区 - 花魁直播官方版

 歡迎來到素材無憂網(wǎng),按 + 收藏我們
登錄 注冊(cè) 退出 找回密碼

Dede會(huì)員登錄二級(jí)域名跨域不能獲取數(shù)據(jù)的解決方

時(shí)間: 2019-08-12 22:05 閱讀: 作者:素材無憂網(wǎng)

最近做了一個(gè)項(xiàng)目,利用dede搭建的移動(dòng)端,發(fā)現(xiàn)二級(jí)域名的移動(dòng)站使用QQ登錄后不能獲取到數(shù)據(jù)的問題,后來知道跨域了。

網(wǎng)上搜索了很多,無果。后來有幸在dedediy看到了一樣的問題,作者附上了詳細(xì)的教程。特此分享給大家,解決大家學(xué)習(xí)過程中的困難。

打開 \include\dedeajax2.js 找到

DedeXHTTP = new XMLHttpRequest();

在它的下面加入

DedeXHTTP.withCredentials = true;

繼續(xù)找到

DedeXHTTP.open("POST", purl, true);

在它的下面加入

DedeXHTTP.withCredentials = true;

繼續(xù)找到

DedeXHTTP.open("GET", purl, true);

在它的下面加入

DedeXHTTP.withCredentials = true;

繼續(xù)找到

DedeXHTTP.open("GET", purl, false);

在它的下面加入

DedeXHTTP.withCredentials = true;

跨域共享cookie的使用教程

1、后臺(tái)-系統(tǒng)-系統(tǒng)配置參數(shù)-核心設(shè)置-跨域共享cookie的域名,填上.yxinet.com

Dede會(huì)員登錄二級(jí)域名跨域不能獲取數(shù)據(jù)的解決方

保存修改后,你可能會(huì)出現(xiàn)后臺(tái)登錄時(shí)提示驗(yàn)證碼錯(cuò)誤,但是你填的驗(yàn)證碼明明是對(duì)的,那有可能你的織夢程序不是最新的,你需要替換官方最新版的這2個(gè)文件。

提示:替換前記得先備份你的這2個(gè)文件,再替換官方的進(jìn)來。

\include\common.inc.php

\include\vdimgck.php

啟用 CORS 來解決瀏覽器跨域出現(xiàn)的攔截跨源問題

有2種方式

方法一:直接在ajax請(qǐng)求的php文件里加入

header("Access-Control-Allow-Credentials:true");
header("Access-Control-Allow-Origin:http://m.yxinet.com");

例如,獲取會(huì)員登錄這個(gè)/member/ajax_loginsta.php

Dede會(huì)員登錄二級(jí)域名跨域不能獲取數(shù)據(jù)的解決方

如果你有多個(gè)ajax獲取文件,也需要加入這2行代碼。

方法二:在網(wǎng)站環(huán)境配置里加入(注意:使用第1種就不要再去操作第2種了)

1) Apache 配置文件里加入

Header set Access-Control-Allow-Origin "*"

Dede會(huì)員登錄二級(jí)域名跨域不能獲取數(shù)據(jù)的解決方

2) Nginx 配置文件里加入

add_header Access-Control-Allow-Origin *;

Dede會(huì)員登錄二級(jí)域名跨域不能獲取數(shù)據(jù)的解決方

3) iis 添加如下標(biāo)頭

Access-Control-Allow-Origin:*

Dede會(huì)員登錄二級(jí)域名跨域不能獲取數(shù)據(jù)的解決方

在子域名的模板中,有ajax獲取數(shù)據(jù)的地方,文件路徑要使用主域名的

<script src="{dede:global.cfg_basehost/}/include/dedeajax2.js"></script>
<script type="text/javascript">      
function CheckLogin(){         
	var taget_obj = document.getElementById('_userlogin');        
	myajax = new DedeAjax(taget_obj,false,false,'','','');         
	myajax.SendGet2("{dede:global.cfg_basehost/}/member/ajax_loginsta.php");        
	DedeXHTTP = null;      
  }    
</script>

教程完成

版權(quán)聲明: 本站資源均來自互聯(lián)網(wǎng)或會(huì)員發(fā)布,如果侵犯了您的權(quán)益請(qǐng)與我們聯(lián)系,我們將在24小時(shí)內(nèi)刪除!謝謝!

轉(zhuǎn)載請(qǐng)注明: Dede會(huì)員登錄二級(jí)域名跨域不能獲取數(shù)據(jù)的解決方

標(biāo)簽:  
相關(guān)文章
模板推薦