目前的项目中,使用到了fineuploader 这个纯html5上传组件,在开发过程中将上传服务单独放置在特定子域下.登录cookie设置的domain 是在根域下,在后端代码中进行用户登录检测,发现总会被重定向302到未登录页面,排查之后发现是ajax xhr请求中未带cookie造成的
网上大概搜了下,
写道
原生ajax请求方式:
var xhr = new XMLHttpRequest();
xhr.open("POST", "http://xxxx.com/demo/b/index.php", true);
xhr.withCredentials = true; //支持跨域发送cookies
xhr.send();
jquery的ajax的post方法请求:
$.ajax({
type: "POST",
url: "http://xxx.com/api/test",
dataType: 'jsonp',
xhrFields: {
withCredentials: true
},
crossDomain: true,
success:function(){
},
error:function(){
}
})
服务器端设置:
header("Access-Control-Allow-Credentials: true");
header("Access-Control-Allow-Origin: http://www.xxx.com");
var xhr = new XMLHttpRequest();
xhr.open("POST", "http://xxxx.com/demo/b/index.php", true);
xhr.withCredentials = true; //支持跨域发送cookies
xhr.send();
jquery的ajax的post方法请求:
$.ajax({
type: "POST",
url: "http://xxx.com/api/test",
dataType: 'jsonp',
xhrFields: {
withCredentials: true
},
crossDomain: true,
success:function(){
},
error:function(){
}
})
服务器端设置:
header("Access-Control-Allow-Credentials: true");
header("Access-Control-Allow-Origin: http://www.xxx.com");
后端进行了相应的调整,前端这块因为涉及到 fineuploader,在其代码中简单搜索了下关键字 withCredentials,然后去官方看了下文档,存在 cors 的配置 http://docs.fineuploader.com/api/options.html#cors
在配置行中加入以下配置 就ok了
cors: { allowXdr: true,// 此参数目前不知道有啥用 expected: true, sendCredentials: true }
修改之后,问题解决.
希望有遇到相同问题的人可以借鉴
相关推荐
跨子域单点登录。ASP.NET身份验证信息跨域共享状态,身份验证信息存储在cooKie中
解决跨子域网站之间的SESSION取值问题,简单实现,只需要改改配置文件就OK.
本文实例讲述了PHP ajax跨子域的解决方案之document.domain+iframe。分享给大家供大家参考,具体如下: 对于主域相同,子域不同,我们可以设置相同的document.domain来欺骗浏览器,达到跨子域的效果。 例如:我们有...
因为网站系统的日益庞大,不同域名业务,甚至不同合作方网站的cookie可能或多或少需要进行共享使用,遇到这个情况的时候,大家一般想到的是使用登录中心分发cookie状态再进行同步进行解决,成本较高而且实施起来比较...
cookie读写工具类,子cookie读写工具类
跨子域localStorage(基于JSON-RPC 2.0协议) 用法 首先,您应该将xlocalstorage.html复制到您的根域和根路径。 回调样式 < script src =" bower_components/xlocalstorage/xlocalstorage.js " > </ ...
当用户第一次访问web应用系统1的时候,因为还没有登录,会被引导到认证中心进行登录;根据用户提供的登录信息,认证系统进行身份效验,如果通过效验,返回给用户一个认证的凭据;用户再访问别的web应用的时候就会将...
嘴近在论坛发现有些朋友在子域部署Exchange服务器时遇到了一些问题,看了一下发现导致问题的原因很多。索性趁着今天有时间,用一个实验演示一下在子域部署Exchange服务器的全过程,希望能给这些朋友一些参考。实验...
在之前做东西的时候session一般就直接存在数据库中这样就能解决跨域不仅仅是跨子域,但是今天遇到这个问题是,自己要在别人现有的东西上面做修改。由于仅仅是子域当时就想肯定有简单的解决方法,度娘了找到了三种...
如何从父域中删除其子域,最近有网友来问如何彻底删除子域。。。。。。
WINDOWS SERVER 2003从入门到精通之AD中的5种操作主机.mht WINDOWS SERVER 2003从入门到精通之DHCP...WINDOWS SERVER 2003从入门到精通之在AD中创建子域和域树.mht WINDOWS SERVER 2003从入门到精通之组策略应用.mht
1.什么是cookie? 答:cookie是用于在客户端存储会话信息的。 2.cookie的组成部分? ①名称:一个唯一确定cookie 的名称。建议区分大小写。cookie 的名称必须是经过URL 编码的。 ②值:储存在cookie 中的字符...
简单的包装程序可以跨子域发出请求。 得到它 对于主持人: 对于网关域: -请参阅文件中的注释。 原料药 以下是用法示例。 假设您有两个要交流的域名 sub1.domain.com(主站) sub2.domain.com sub2.domain.com...
文档是别人写的,我测试了一下确实可行,上传做一个备份同时也提供给有需要的人
Windows Server 2012R2 AD域控 辅助域 只读域 子域
第 7 章 漏洞利用207访问 http://www.evil.com/proxy/attack.htm// 设置域为 WebKit 认为的顶级域/*注入框架*
Windows 2003 Server下dns服务、子域和委派配置
主域使用cocos creator+js开发。 子域使用微信原生API,demo中的子域代码大小为8kb,比creator生成的子域小了太多。 demo实现了排行榜分页显示、 上传玩家分数。 代码部分全都加了备注。
Deep Subdomain Adaptation ...近年来,越来越多的研究者开始关注子域自适应问题,重点是准确地对齐相关子域的分布。然而,它们大多包含多个损失函数且收敛缓慢的对抗性方法。在此基础上,我们提出了一种深度子域自适应