EventSource

The EventSource interface is used to receive server-sent events. It connects to a server over HTTP and receives events in text/event-stream format without closing the connection.

Constructor

EventSource()
Creates a new EventSource from the given USVString.

Properties

This interface also inherits properties from its parent, EventTarget.

EventSource.readyState Read only
A number representing the state of the connection. Possible values are CONNECTING (0), OPEN (1), or CLOSED (2).
EventSource.url Read only
A DOMString representing the URL of the source.
EventSource.withCredentials Read only
A Boolean indicating whether the EventSource object was instantiated with CORS credentials set (true), or not (false, the default).

Event handlers

EventSource.onerror
Is an EventHandler called when an error occurs and the error event is dispatched on an EventSource object.
EventSource.onmessage
Is an EventHandler called when a message event is received, that is when a message is coming from the source.
EventSource.onopen
Is an EventHandler called when an open event is received, that is when the connection was just opened.

Methods

This interface also inherits methods from its parent, EventTarget.

EventSource.close()
Closes the connection, if any, and sets the readyState attribute to CLOSED. If the connection is already closed, the method does nothing.

Examples

var evtSource = new EventSource('sse.php');
var eventList = document.querySelector('ul');
evtSource.onmessage = function(e) {
  var newElement = document.createElement("li");
  newElement.textContent = "message: " + e.data;
  eventList.appendChild(newElement);
}

Note: You can find a full example on GitHub — see Simple SSE demo using PHP.

Specifications

Specification Status Comment
WHATWG HTML Living Standard
The definition of 'EventSource' in that specification.
Living Standard  

Browser compatibility

Feature Chrome Edge Firefox (Gecko) Internet Explorer Opera Safari
EventSource support 6 No support 6.0 (6.0) No support (Yes) 5
Available in shared and dedicated workers[1] (Yes) No support 53.0 (53.0) No support (Yes) (Yes)
Feature Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
EventSource support 4.4 45 No support 12 4.1
Available in shared and dedicated workers[1] (Yes) 53.0 (53.0) No support (Yes) (Yes)

[1] But not service workers as yet.

See also

Document Tags and Contributors

 Last updated by: chrisdavidmills,