首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么chrome扩展没有在跨域请求中设置PHP Cookie?

为什么chrome扩展没有在跨域请求中设置PHP Cookie?
EN

Stack Overflow用户
提问于 2019-09-25 14:09:39
回答 2查看 114关注 0票数 0

我有一个chrome扩展,它使用XMLHttpRequest连接到我的主机服务器。当我在popup.js中使用XMLHttpRequest设置PHP时,它只在下一个popup.js中的XMLHttpRequest中可见。但是当扩展程序在某个互联网页面上运行时,background.js会再次向我的主机服务器发送XMLHttpRequest,但是看不到cookie。如何使对该服务器所有请求都能看到PHP cookies?

PHP设置cookie时:

代码语言:javascript
复制
setcookie("name","john", time() + 3600*24*1000, "/");
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-09-25 15:22:34

我设法解决了这个问题。Cookie无法识别主机域。我再次按照PHP manual的说明进行操作,然后将设置cookie的方式更改为:

代码语言:javascript
复制
setcookie($cookie_name,$cookie_value, time() + 3600*24, "/","mydomain.com", 1);

这一次我使用了变量$cookie_name和$cookie_value,但这对解决方案没有任何影响。

票数 0
EN

Stack Overflow用户

发布于 2019-09-25 15:20:49

Background、content和popup是独立的,不共享状态,包括cookie。但是你可以在它们之间进行https://developer.chrome.com/extensions/messaging通信

因此,如果你想在弹出窗口中初始化你的请求,那么你必须将cookie传递给你的后台,如果你想在那里使用它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58092082

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档