首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >跨域发送Cookies

问跨域发送Cookies
EN

Stack Overflow用户
提问于 2015-03-11 19:57:40
回答 1查看 890关注 0票数 1

目标:跨域共享cookie

我们的UI在端口P1的服务器'A‘中运行,我们的服务在端口P2的同一服务器'A’中运行。

代码语言:javascript
复制
 UI (Server 'A', Port P1) ----> Services (Server 'A', Port P2)

在从UI到Services进行rest调用时,cookies不作为请求的一部分发送。

我知道cookies不会在域间共享。尝试了Why is jquery's .ajax() method not sending my session cookie?中所建议的方法,但没有成功。

代码语言:javascript
复制
 $.ajax({
     url: a_cross_domain_url,
     xhrFields: {
     withCredentials: true
      }
    });

计划尝试以下方法,任何投入或想法,以实现我们的目标,将不胜感激。谢谢。

办法:

  1. 按照https://www.drupal.org/node/1133084中的建议,在cookie头属性中设置所需的Cookie $.ajax({ url: a_cross_domain_url,xhrFields:{ withCredentials: true },// headers:{'Cookie‘:'cookieName=cookieValue'},beforeSend: function(xhr) { xhr.setRequestHeader("Cookie",'cookieName=cookieValue');});
  2. 要使用普通的VIP (让我们说:https://example.com)来托管和访问UI和服务,浏览器就不会觉得请求是跨域提出的。 UI (https://example.com) ->服务(https://example.com/service1)

更新:

我们采用了第二种方法,因为这两个应用程序都是由一个普通的VIP访问的,cookie是通过浏览器发送的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-16 03:54:53

我觉得第二种方法更干净。我试过了&它很有效。

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

https://stackoverflow.com/questions/28996170

复制
相关文章

相似问题

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