Javascript 设置和访问从主域到子域的Cookie

Javascript 设置和访问从主域到子域的Cookie,javascript,php,cookies,Javascript,Php,Cookies,我遇到了一个特殊的情况,花了很多时间进行调查,但没有成功 我有一个类似www.a的域,在主页上我运行一个Javascript来访问另一个子域dev.a中的PHP脚本。这个PHP脚本需要设置一个cookie,然后我想在另一个脚本中访问同一个cookie,我将在www.a.下再次访问该脚本 请帮助实现这一目标。 当做 Mohtashim如果要在域中设置cookie,并确保它在每个子域上都可用,则应在setcookie功能中使用域(无www子域): setcookie('cookie_name', '

我遇到了一个特殊的情况,花了很多时间进行调查,但没有成功

我有一个类似www.a的域,在主页上我运行一个Javascript来访问另一个子域dev.a中的PHP脚本。这个PHP脚本需要设置一个cookie,然后我想在另一个脚本中访问同一个cookie,我将在www.a.下再次访问该脚本

请帮助实现这一目标。 当做
Mohtashim

如果要在域中设置cookie,并确保它在每个子域上都可用,则应在
setcookie
功能中使用域(无
www
子域):

setcookie('cookie_name', 'cookie_value' , 0 , "" , 'yourdomain.com');
                                       // ^       This is the expiring time of the cookie
                                       //     ^   This is the path of the cookie
这将允许您的子菜单(包括
www.A
dev.A
)访问该cookie


关于
setcookie
函数的所有参数。

最后,我得到了一个解决方案,需要修复Ajax调用以添加以下内容:

crossDomain: true,
xhrFields: {
  withCredentials: true
},
但后来它开始给我带来与访问控制允许来源相关的问题,因为在我的httpd.conf中它被设置为*,所以我对此进行了评论,但它仍然没有解决问题,然后我在PHP脚本中添加了以下两行内容,即设置会话和读取会话:

   header("Access-Control-Allow-Origin: https://www.example.com");
   header("Access-Control-Allow-Credentials : true");

最后,在度过了一整晚之后,现在我可以在一个子域中使用我的会话了。希望这对某人有所帮助。

感谢Dekel的快速回复。在这里,我想在子域中设置cookie,然后在主域中访问它。我还需要在Ajax调用中设置一些东西吗?我想不出这一点。你确定正确设置了cookie吗?你在浏览器上看到cookie了吗?(您可以共享一个链接以检查吗?其他选项-尝试使用
.yourdomain.com
(在开头添加一个点)。