php可不可以跨域设置cookie(只有一个网站是我做的情况下)
发布网友
发布时间:2022-04-06 03:38
我来回答
共3个回答
热心网友
时间:2022-04-06 05:07
var xmlHttp;
function GetXmlHttpObject()
{
var xmlHttp=null;
try
{
xmlHttp=new XMLHttpRequest();
} catch (e)
{
try
{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
}return xmlHttp;
}
试试这个,因为你只考虑了IE浏览器,没有考虑其他浏览器兼容
还有,JS可以操作cookie的,没必要到php文件里去做,这样浪费效率。
试试这三个函数
function setCookie()
{
if(arguments.length==2)
{
var name=arguments[0];
var value=arguments[1];
var Days = 1;
var exp = new Date();
exp.setTime(exp.getTime() + Days*24*60*60*1000/2);
document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString()+";path=/";
}
else if(arguments.length==3)
{
var name=arguments[0];
var value=arguments[1];
var Seconds = arguments[2];
var exp = new Date();
exp.setTime(exp.getTime() + Seconds*24*60*60*1000/2);
document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString()+";path=/";
}
else
{
alert("操作错误!");
}
}
function getCookie(name)
{
var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
if(arr != null) return unescape(arr[2]); return null;
}
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.toGMTString()+";path=/";
}
分别是设置,获取,删除,看得懂吧?
热心网友
时间:2022-04-06 06:25
单纯用COOKIE不行~
你可以在b.com与a.com之间写一个验证程序,让b.com去访问a.com的验证程序,如果a.com中坚持到设置了cookie,那么就让a.com返回一个特定的值给b.com,然后b.com就在自己的程序里面写出一个cookie。
热心网友
时间:2022-04-06 08:00
如果一个是 aaa.com,一个是bbb.com,就不可跨域