Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/259.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用ajax设置cookies_Php_Jquery_Ajax_Cookies_Yii2 - Fatal编程技术网

Php 使用ajax设置cookies

Php 使用ajax设置cookies,php,jquery,ajax,cookies,yii2,Php,Jquery,Ajax,Cookies,Yii2,我知道这个话题已经讨论过好几次了。但我真的不明白为什么我的例子不起作用 我已经在本地测试了它,它可以正常工作。 如您所见,有一些收到的cookies 但在真正的网站上,它不起作用。代码完全相同。 如您所见,只有已发送的cookies。 JS和PHP端非常简单。这肯定不是编码问题。 例如,服务器端(yii2php框架) $cookie=新cookie(); $cookie->name='agreeterms'; $cookie->value='1'; $cookie->expire=time()

我知道这个话题已经讨论过好几次了。但我真的不明白为什么我的例子不起作用

我已经在本地测试了它,它可以正常工作。


如您所见,有一些
收到的cookies


但在真正的网站上,它不起作用。代码完全相同。

如您所见,只有已发送的cookies。

JS和PHP端非常简单。这肯定不是编码问题。
例如,服务器端(yii2php框架)


$cookie=新cookie();
$cookie->name='agreeterms';
$cookie->value='1';
$cookie->expire=time()+2592000;
Yii::$app->getResponse()->getCookies()->add($cookie);
echo Json::encode(['success'=>true]);

可能是请求有问题,也可能是服务器配置有问题。当点击页面底部cookie agreements块的close按钮时,它会出现在cargo2share.com网站上

如有任何提示,我们将不胜感激

编辑并比较响应标题:

localhost:





和实时版本

查看实际http响应,一切正常。在这两种情况下,它都是json响应{'success'=>true}http响应包含http头,请检查them@Lashane是的,我没看到什么奇怪的。请看编辑。同样的问题是,没有设置cookies。有什么想法吗?所以,在您的本地主机上,您使用http only参数设置cookie,但在prod server上,您使用的是https,这就是为什么不发送cookie,对所有文件进行grep,以找出httpOnly设置为true的位置