HTML5中提供了EventSource
对象,用于实现服务器端推送数据到客户端的功能。使用EventSource
对象可以建立一个到服务器的持久连接,服务器可以随时向客户端发送数据,而客户端无需不断地向服务器发送请求。
以下是EventSource
的使用方法:
1.创建EventSource对象
var source = new EventSource(url);
其中,url是服务器端推送数据的地址。
2.监听事件EventSource对象有三个事件:
- onopen:连接建立时触发。
- onmessage:接收到服务器端发送的数据时触发。
- onerror:连接出错时触发。可以通过以下方式监听事件:
source.onopen = function(event) { // 连接建立时触发};
source.onmessage = function(event) { // 接收到服务器端发送的数据时触发};
source.onerror = function(event) { // 连接出错时触发};
3.关闭连接可以通过以下方式关闭连接:
source.close();
注意事项:- EventSource对象只能用于接收服务器端发送的数据,不能用于向服务器发送数据。
EventSource对象只能发送GET请求,不能发送POST请求。- 服务器端发送的数据必须是纯文本格式,不能是二进制数据。- 服务器端发送的数据必须以“data: ”开头,以“\n\n”结尾,中间部分为数据内容。
例如:“data: hello\n\n”。- 服务器端发送的数据可以包含多个“data: ”段,每个段之间用“\n\n”分隔。