1

虽然在其他问题中,人们声称 EventSource 有相当好的文档记录,但我发现它在某些情况下更隐含而不是明确。

我的理解是,当您在 JS 中初始化 EventSource 对象时,它会使用指定的 URI 打开与您的服务器的连接。

此连接是使用 GET 发起的吗?

(不确定这是否构成第二个问题)是否可以使用/强制使用另一种 HTTP 方法(POST)?

4

1 回答 1

4

使用EventSource接口时的请求方法是GET请求。您可以在传递给构造函数的 URL 中包含查询字符串,并在服务器上解析查询字符串。

const stream = "data: event stream\n\n";
const blob = new Blob([stream], {type:"text/event-stream"});
const blobURL = URL.createObjectURL(blob);
const es = new EventSource(blobURL);
es.onmessage = e => {
   console.log(e.data);
}
es.onerror = e => {
   es.close();
}

于 2018-01-22T00:49:51.243 回答