Mercure Update

Par AllenShelby, il y a 1 an


Outils Linux
Javascript VueJS

Bonjour, j'utilise Mercure Bundle pour avoir une systeme de chat en temps réels

(D'autre code) .... $Message = new Messages(); $Message->setMessage($MessagePost['message']); $Message->setTitle($MessagePost['title']); $Message->setSender($sender); $Message->setRecipientService($service_recipient_name); $recipientName = $service_recipient->getName(); $Message->setSenderName($senderName); $Message->setRecipientName($recipientName); foreach ($uploadedFiles as $file) { $Message->addFile($file); } $entityManager->persist($Message); $update = new Update( "/messages/ ", // Topic spécifique à l'utilisateur json_encode([ 'id' => $Message->getId(), 'title' => $Message->getTitle(), 'message' => $Message->getMessage(), 'created_at' => $Message->getCreatedAt()->format('Y-m-d H:i:s'), 'sender' => $Message->getSenderName(), 'recipient' => $Message->getRecipientName(), ]) ); $hub->publish($update); // Envoi de la mise à jour Mercure } $entityManager->flush(); return $this->json([ 'message' => 'Message envoyer avec succès', ]); }

Ce que je veux

J'aimerai le recuperé du côté client (Vuetify)

subscriberMercure(){ const eventSource = new EventSource("{{ mercure('/messages/ ')|escape('js') }}"); eventSource.onmessage = event => { // Will be called every time an update is published by the server console.log(JSON.parse(event.data)); } },

Ce que j'obtiens

Mais le me retourne toujour une erreur en console :: "Failed to send an update."

1 réponse

Yann9111, il y a 1 an

La Failed to send and update est souvent un problème lié à ta configuration. Je te conseille de lancer Mercure via la console pour tester ta connexion. Sinon, essaie d'accéder directement au lien.

Envoie-moi ta configuration Mercure dans Docker.


Si vous avez besoin d'aide, n'hésitez pas à me contacter. Visiter le site