虽然在其他问题中,人们声称EventSource已经有了很好的文档记录,但我发现它在某些情况下更明显地暗示了。
我的理解是,在JS中初始化一个EventSource对象时,它会使用指定的URI打开与服务器的连接。
是否使用GET启动此连接?
(不确定这是否构成第二个问题)是否可以使用/强制使用其他HTTP方法(POST)?
答案 0 :(得分:1)
使用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();
}