files/en-us/web/api/eventsource/message_event/index.md
{{APIRef("Server Sent Events")}}{{AvailableInWorkers}}
The message event of the {{domxref("EventSource")}} interface is fired when data is received through an event source.
This event is not cancelable and does not bubble.
Use the event name in methods like {{domxref("EventTarget.addEventListener", "addEventListener()")}}, or set an event handler property.
addEventListener("message", (event) => { })
onmessage = (event) => { }
A {{domxref("MessageEvent")}}. Inherits from {{domxref("Event")}}.
{{InheritanceDiagram("MessageEvent")}}
This interface also inherits properties from its parent, {{domxref("Event")}}.
MessageEventSource (which can be a {{glossary("WindowProxy")}}, {{domxref("MessagePort")}}, or {{domxref("ServiceWorker")}} object) representing the message emitter.In this basic example, an EventSource is created to receive events from the server; a page with the name sse.php is responsible for generating the events.
const evtSource = new EventSource("sse.php");
const eventList = document.querySelector("ul");
evtSource.addEventListener("message", (e) => {
const newElement = document.createElement("li");
newElement.textContent = `message: ${e.data}`;
eventList.appendChild(newElement);
});
evtSource.onmessage = (e) => {
const newElement = document.createElement("li");
newElement.textContent = `message: ${e.data}`;
eventList.appendChild(newElement);
};
{{Specifications}}
{{Compat}}