• 解決方法
打開 \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的使用教程
后臺(tái)-系統(tǒng)-系統(tǒng)配置參數(shù)-核心設(shè)置-跨域共享cookie的域名(例如:.91084.com)
啟用 CORS 來解決瀏覽器跨域出現(xiàn)的攔截跨源問題
  • 方法一:直接在ajax請(qǐng)求的php文件里加入
header("Access-Control-Allow-Credentials:true");
header("Access-Control-Allow-Origin:http://m.91084.com");
例如,獲取會(huì)員登錄這個(gè)/member/ajax_loginsta.php
如果你有多個(gè)ajax獲取文件,也需要加入這2行代碼。
  • 方法二:在網(wǎng)站環(huán)境配置里加入
Apache 配置文件里加入
Header set Access-Control-Allow-Origin "*"
Nginx 配置文件里加入
add_header Access-Control-Allow-Origin *;
iis 添加如下標(biāo)頭
Access-Control-Allow-Origin:*
在子域名的模板中,有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>