Javascript 未通过relayjs在graphql请求的移动浏览器中传递Cookie
我能够在使用以下代码段从Graphql查询数据时发送标头中的cookie:Javascript 未通过relayjs在graphql请求的移动浏览器中传递Cookie,javascript,reactjs,cookies,graphql,relayjs,Javascript,Reactjs,Cookies,Graphql,Relayjs,我能够在使用以下代码段从Graphql查询数据时发送标头中的cookie: Relay.injectNetworkLayer( 新建中继.DefaultNetworkLayer(GQL_URL{ 凭据:“相同来源”, })); 这适用于桌面浏览器,但不适用于移动设备。 但当我用手机打开我的网站(或用任何手机模型在chrome上模拟)时,cookies都不会被通过 是否有针对cookie设置的特定于移动浏览器的处理方式? 另外,在分析cookies之后,在mobile中非graphql rest
Relay.injectNetworkLayer(
新建中继.DefaultNetworkLayer(GQL_URL{
凭据:“相同来源”,
}));代码>
这适用于桌面浏览器,但不适用于移动设备。
但当我用手机打开我的网站(或用任何手机模型在chrome上模拟)时,cookies都不会被通过
是否有针对cookie设置的特定于移动浏览器的处理方式?
另外,在分析cookies之后,在mobile中非graphql rest api调用中会传递cookies
注意:这可能不相关,但对于桌面,cookie存储在不同的域名下(因为有多个域用于不同的请求):
abc.domain.com->cookie1、cookie2…等
def.domain.com->cookie1,cookie2。。等
但在移动设备中,cookie存储在同一主机名上:
abc.domain.com->cookie1、cookie2…等
更新:如果是移动设备,则源标题不同。如果有帮助
任何帮助都将不胜感激。找到了解决方案。已更改在relayjs中共享跨域Cookie的凭据:
Relay.injectNetworkLayer(
新建中继.DefaultNetworkLayer(GQL_URL{
凭据:“包括”,
}));代码>
在桌面的情况下,iframe被加载,而移动版本则是如此,在移动版本中,我们执行xhr请求,然后在div中插入内容。
因此,在iframe中,cookies存储在正确的域中,因为来自正确的源,但在xhr中,源保持不变。因此需要通过跨域cookie进行访问
谢谢你的帮助