【发布时间】:2019-11-13 00:13:36
【问题描述】:
我一直在研究使用 EventSource 将服务器事件推送到客户端,但我需要客户端能够识别自己,这样它就不会只获取每个客户端的每个事件。我正在尝试使用 cookie 来实现这一点,但不知何故,cookie 似乎从未通过。谁能指出一个创建 EventSource 并随请求发送 cookie 的示例?
【问题讨论】:
标签: javascript angularjs html cookies eventsource
我一直在研究使用 EventSource 将服务器事件推送到客户端,但我需要客户端能够识别自己,这样它就不会只获取每个客户端的每个事件。我正在尝试使用 cookie 来实现这一点,但不知何故,cookie 似乎从未通过。谁能指出一个创建 EventSource 并随请求发送 cookie 的示例?
【问题讨论】:
标签: javascript angularjs html cookies eventsource
这听起来像是CORS 问题。试试这个(仅用于开发,而不是产品):
在客户端你应该有withCredentials: true标志:
const eventSource = new EventSource(subscribeUrl, { withCredentials: true });
在服务器端确保发送这些标头:
Access-Control-Allow-Origin: YOUR_DOMAIN
Access-Control-Allow-Credentials: true
Access-Control-Expose-Headers: *
【讨论】: