HTML5 服务器发送事件: 如何设置 withCredentials 选项?

15

根据WHATWG - Server-Sent Events,以下是使用EventSource接口的API:

[Constructor(DOMString url, optional EventSourceInit eventSourceInitDict)]
interface EventSource : EventTarget {
  readonly attribute DOMString url;
  readonly attribute boolean withCredentials;
  //....
};

withCredentials属性必须返回它最后初始化的值。在创建对象时,必须将其初始化为false。

简单示例:

var stocks = new EventSource("events.php");
stocks.onmessage = function (event) {
  //alert(event.data);
};

现在,如何在这个示例中包含或设置withCredentials?


1
你介意更新你的答案并提供最终代码吗? - Andrew Breksa
1个回答

20

我没有尝试过,但根据你提供的规格链接,我认为它应该是这样的:

var stocks = new EventSource("events.php", { withCredentials: true });

如果你去http://www.w3.org/TR/WebIDL/#idl-exceptions,然后向上滚动一下,就可以看到一个类似的使用字典设置初始化值的示例。


1
没错,我尝试了很多语法,但Firebug没有触发任何错误 :) - user1646111
我在谷歌上搜索了这个模式,我还发现了w3c -> event-source -> eventsource-cross-origin.htm。使用相同的概念。 - user1646111
@user1646111 -- 链接已失效;新链接在此:http://w3c-test.org/eventsource/eventsource-cross-origin.htm - Lars Kemmann
添加 , { withCredentials: true } 解决了我的问题。 - etoricky

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接