您现在的位置是: 主页 > 个人博客日记 > 程序人生 > 程序人生

Dede会员登录二级域名跨域不能获取数据的解决方

2020-01-04 14:54 【程序人生】 人已围观

简介: 最近做了一个项目,利用dede搭建的移动端,发现二级域名的移动站使用QQ登录后不能获取到数据的问题,后来知道跨域了。 网上搜索了很多,无果。后来有幸在dedediy看到了一样的问题,作者附上了详细的教程。特此分享给大家,解决大家学习过程中的困难。 打开 \include\dedeajax2.js 找到 DedeXHTTP = new XMLHttpRequest(); 在它的下面加入 DedeXHTTP.withCredentials = true; 继续找到 DedeXHTTP.open(POST...

最近做了一个项目,利用dede搭建的移动端,发现二级域名的移动站使用QQ登录后不能获取到数据的问题,后来知道跨域了。

网上搜索了很多,无果。后来有幸在dedediy看到了一样的问题,作者附上了详细的教程。特此分享给大家,解决大家学习过程中的困难。

打开 \include\dedeajax2.js 找到

DedeXHTTP = new XMLHttpRequest();

在它的下面加入

DedeXHTTP.withCredentials = true;

继续找到

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

在它的下面加入

DedeXHTTP.withCredentials = true;

继续找到

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

在它的下面加入

DedeXHTTP.withCredentials = true;

继续找到

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

在它的下面加入

DedeXHTTP.withCredentials = true;

跨域共享cookie的使用教程

1、后台-系统-系统配置参数-核心设置-跨域共享cookie的域名,填上.yxinet.com

Dede会员登录二级域名跨域不能获取数据的解决方

保存修改后,你可能会出现后台登录时提示验证码错误,但是你填的验证码明明是对的,那有可能你的织梦程序不是最新的,你需要替换官方最新版的这2个文件。

提示:替换前记得先备份你的这2个文件,再替换官方的进来。

\include\common.inc.php

\include\vdimgck.php

启用 CORS 来解决浏览器跨域出现的拦截跨源问题

有2种方式

方法一:直接在ajax请求的php文件里加入

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

例如,获取会员登录这个/member/ajax_loginsta.php

Dede会员登录二级域名跨域不能获取数据的解决方

如果你有多个ajax获取文件,也需要加入这2行代码。

方法二:在网站环境配置里加入(注意:使用第1种就不要再去操作第2种了)

1) Apache 配置文件里加入

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

Dede会员登录二级域名跨域不能获取数据的解决方

2) Nginx 配置文件里加入

add_header Access-Control-Allow-Origin *;

Dede会员登录二级域名跨域不能获取数据的解决方

3) iis 添加如下标头

Access-Control-Allow-Origin:*

Dede会员登录二级域名跨域不能获取数据的解决方

在子域名的模板中,有ajax获取数据的地方,文件路径要使用主域名的

<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>

教程完成

孟文鹏博客版权所有丨如未注明 , 均为原创丨 转载请注明Dede会员登录二级域名跨域不能获取数据的解决方

很赞哦! ( )

随机图文

文章评论

    总共有: 条评论 来说两句吧...

    用户名:

    联系方式:

猜你喜欢

站点信息

  • 建站时间 :2019-6-18
  • 共有会员 : 2名
  • 共有文章 :5884篇
  • 今日更新 :1篇
  • 百度收录
  • 文章阅读 :826521人次
  • 公众号 :扫描二维码,关注我们
-->