cookie 跨域访问
废话不知道该说些什么。。。先看代码吧。
cookie 是浏览器保存在用户计算机上的少量数据 //读取cookie
function getCookie(name) {
var arr, reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)");
if (arr = document.cookie.match(reg)) {
return decodeURI(arr[2]);
} else {
return null;
}
}; // delCookie("userName"); //设置cookie 值与过期时间
function setCookie(name, value, time) {
if (time) {
var setExp = gerExpTiem(time);
var exp = new Date();
exp.setTime(exp.getTime() + setExp);
document.cookie = name + "=" + encodeURI(value) + ";expires=" + exp.toUTCString();
} else {
document.cookie = name + "=" + encodeURI(value);
} }; //删除cookie
function delCookie(name) {
var exp = new Date();
exp.setTime(exp.getTime() - 1);
var cval = getCookie(name); if (cval != null) {
document.cookie = name + "=" + cval + ";expires=" + exp.toUTCString();
}
}; //获得过期时间 s10 ,h10 ,d10 s秒,h小时,d天数
function gerExpTiem(time) {
var timeType = time.substring(0, 1);
var _setTime = time.substring(1, time.length);
if (timeType == "s") {
return _setTime * 1000;
} else if (timeType == "h") {
return _setTime * 60 * 60 * 1000;
} else if (timeType == "d") {
return _setTime * 24 * 60 * 60 * 1000;
}
};
以上是对cookie 进行操作(添加,删除,获取) 网上大多例子都是一样的,本人也是参考的,大家可参考。。。
接下来是重点啦
cookie域 设置域:domain=siteDomain 这个主要用在同域的情况下共享一个cookie,
例如 "www.taobao.com" 与 "ued.taobao.com"
两者是共享一个域名"taobao.com",
我们如果想让 "www.taobao.com" 下的cookie被 "ued.taobao.com"
访问,那么就需要把path属性设置为 "/",
并且设置 cookie 的domain-->document.cookie='cookieName=cookieValue;expires=expireDate;path=/;domain=taobao.com'。
我比较懒,这是copy 别人的,是在用一个域下(二级域名),
如果是:www.baidu.com 与 www.taobao.com 这样是不能跨域访问cookie的。
服务器端添加响应头
<?php header('Access-Control-Allow-Credentials:true'); ?>
客户端添加
$.ajax({
type: method,
url: reqObj.testAddress+reqName,
dataType: "json",
crossDomain: true,
xhrFields: { //注意添加红色部分
withCredentials: true
},
timeout : reqObj.set_Timeout,
success: succCallback,
error: errorCallback
});
参考来源:
http://www.cnblogs.com/MyRobotDream/p/3543402.html
http://www.111cn.net/wy/html5/75509.htm
cookie 跨域访问的更多相关文章
- 解决cookie跨域访问
一.前言 随着项目模块越来越多,很多模块现在都是独立部署.模块之间的交流有时可能会通过cookie来完成.比如说门户和应用,分别部署在不同的机器或者web容器中,假如用户登陆之后会在浏览器客户端写入c ...
- 解决cookie跨域访问.2
v一.前言 随着项目模块越来越多,很多模块现在都是独立部署.模块之间的交流有时可能会通过cookie来完成.比如说门户和应用,分别部署在不同的机器或者web容器中,假如用户登陆之后会在浏览器客户端写入 ...
- cookie 跨域访问的解决方案
Cookie 同域单点登录 最近在做一个单点登录的系统整合项目,之前我们使用控件实现单点登录(以后可以介绍一下).但现在为了满足客户需求,在不使用控件情况下实现单点登录,先来介绍一下单点登录. ...
- 实现cookie跨域访问
需求:A系统(www.a.com)里设置一个浏览器cookie,B系统(www.b.com)需要能够访问到A设置的cookie. 通过HTML SCRIPT标签跨域写cookie: 由于html的sc ...
- cookie单点登录(跨域访问)
新近一家公司上来就让做oa,要求嵌入公司现有系统模块,自然而然想到模拟post单点登录对方系统新建单点登陆页面保存session,然现有系统都有用cookie保存用户信息,故保存本地cookie……测 ...
- asp.net关于Cookie跨域(域名)的问题
Cookie是一个伟大的发明,它允许Web开发者保留他们的用户的登录状态.但是当你的站点有一个以上的域名时就会出现问题了.在Cookie规范上 说,一个cookie只能用于一个域名,不能够发给其它的域 ...
- 关于Cookie跨域的问题
Cookie是一个伟大的发明,它允许Web开发者保留他们的用户的登录状态.但是当你的站点有一个以上的域名时就会出现问题了.在Cookie规范上说,一个cookie只能用于一个域名,不能够发给其它的域名 ...
- 关于Cookie跨域的问题研究
Cookie是一个伟大的发明,它允许Web开发者保留他们的用户的登录状态.但是当你的站点有一个以上的域名时就会出现问题了.在Cookie规范上说,一个cookie只能用于一个域名,不能够发给其它的域名 ...
- cookie跨域问题汇总
一.通过nginx反向代理 通过nginx反向代理后,使得浏览器认为访问的资源都是属于相同协议,域名和端口的. 详细见:<nginx实现跨域访问> 二.jsonp方式请求 v jquery ...
随机推荐
- 算法Sedgewick第四版-第1章基础-007一用两个栈实现简单的编译器
1. package algorithms.util; import algorithms.ADT.Stack; /****************************************** ...
- EZOJ #82
传送门 分析 首先我们发现$k$位数实际就是一位的情况的$k$次方 考虑一开始的总方案数是$2^{nm}$ 我们每一次枚举其中有$i$行$j$列 对于这种情况的容斥系数为$(-1)^{i+j}$ 方案 ...
- Django框架 之 URLconf
Django框架 之 URLconf 浏览目录 URL 摘要 Django如何处理一个请求 反向解析URL name模式 namespace模式 一.URL 1.摘要 我们要在Django项目中为应用 ...
- SDUT 1489 求二叉树的先序遍历 (中序后序还原二叉树)
求二叉树的先序遍历 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Discuss Problem Description 已知一 ...
- [译]我们应该在HTML文档中何处放script标签
本文翻译youtube上的up主kudvenkat的javascript tutorial播放单 源地址在此: https://www.youtube.com/watch?v=PMsVM7rjupU& ...
- leetcode mergeKsortedlink
代码:这个代码是有问题的,问题的产生是map中不能存放相同的值. #include<iostream> #include<vector> #include<cmath&g ...
- .Net Core异步async/await探索
走进.NetCore的异步编程 - 探索 async/await 前言: 这段时间开始用.netcore做公司项目,发现前辈搭的框架通篇运用了异步编程方式,也就是async/await方式,作为一个刚 ...
- SoftKeyboard在AndroidStudio下的配置和运行
前文翻译的<Android下创建一个输入法>一文中提到了来自Google的输入法例程SoftKeyboard,备忘下该程序的配置和运行. 首先将SoftKeyboard导入AndroidS ...
- ubuntu - 14.04,安装Go语言(谷歌公司开发的一种语言)
Go语言下载地址:https://storage.googleapis.com/golang/go1.5.1.linux-amd64.tar.gz 安装: 1,以root身份在shell里执行: ta ...
- 「BZOJ 1791」「IOI 2008」Island「基环树」
题意 求基环树森林所有基环树的直径之和 题解 考虑的一个基环树的直径,只会有两种情况,第一种是某个环上结点子树的直径,第二种是从两个环上结点子树内的最深路径,加上环上这两个结点之间的较长路径. 那就找 ...