2012-04-16 49 views
1

我试图通过AJAX直接使用PHP设置cookie。下面的代码在Firefox,Opera和Safari中设置cookie很好,但在Chrome和IE8中没有。Cookie via AJAX

`setcookie("user" , $_REQUEST[ 'login' ] , time() + 60 * 60 * 60 , "/graduate/" , "localhost");` 

我错过了什么,或者唯一的方法就是通过JavaScript?

P.S.使用JavaScript,Cookie在所有浏览器中设置。

回答

4

所以我猜你是在本地主机上做这个?如果是这样,它是因为谷歌浏览器与本地主机网站的问题,并使用IP地址来设置的Cookie而是更多在这里:http://groups.google.com/a/googleproductforums.com/forum/#!category-topic/chrome/report-a-problem-and-get-troubleshooting-help/iow88FsnNhQ

对于Internet Explorer,这里是从PHP网站摘录应该解决您的问题: “Internet Explorer 8和Internet Explorer 9的(IE8和IE9)仍然没有从本地主机接受cookie。

解决这个问题的最简单的方法是添加到您的主机入口文件如127.0.0.1 www.mytestsite.com”

这里是链接:http://php.net/manual/en/function.setcookie.php

另一个问题是,一些浏览器不工作好,除非你指定的setcookie的所有参数,尝试过

其他一些链接,可能会有所帮助: Internet Explorer ignores cookies on some domains (cannot read or set cookies)

+0

它解决了Chrome浏览器的问题,但不是IE的。 +1为一半的答案。 – 2012-04-16 03:34:25

+0

添加了IE部分伙伴,希望它有帮助 – 2012-04-16 03:39:00

+0

太棒了!非常感谢! – 2012-04-16 03:42:22