Dans le navigateur, j’ai 2 messages d’erreurs m’indiquant : Erreur lors de la récupération des messages publics. Veuillez réessayer plus tard » et « Les données reçues ne sont pas un tableau ». Le but de ma consigne est qu’un membre puisse supprimer un sujet de discussion privée ouvert sur tous les profils. J’ai codifié mon scripts comme ceci
document.addEventListener("DOMContentLoaded", function () {
const allmessageForm = document.getElementById("allmessagesForm");
const allmessageInput = document.getElementById("allmessageInput");
const adminChatWindow = document.getElementById("adminChatWindow");
const allUsersList = document.getElementById("allUsersList");
const alldeleteDiscussionBtn = document.getElementById(
"alldeleteDiscussionBtn"
);
if (allmessageForm) {
allmessageForm.addEventListener("submit", async function (event) {
event.preventDefault();
const message = allmessageInput.value.trim();
if (!message) {
alert("Veuillez saisir un message.");
return;
}
try {
const response = await fetch(
"http://localhost:3000/api/postAllProfiles",
{
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify({
content: message,
}),
}
);
const data = await response.json();
if (response.ok) {
allmessageInput.value = "";
loadAllMessages();
} else {
alert("Erreur lors de l'envoi du message public : " + data.message);
}
} catch (error) {
console.error("Erreur lors de l'envoi du message public : ", error);
alert("Erreur lors de l'envoi du message public : " + error.message);
}
});
}
// Suppression de la discussion publique ouverte par l'administrateur sur tous les profils
if (alldeleteDiscussionBtn) {
alldeleteDiscussionBtn.addEventListener("click", async function () {
if (confirm("Êtes-vous certain de supprimer cette discussion?")) {
try {
const response = await fetch(
"http://localhost:3000/api/alldeleteDiscussion",
{
method: "DELETE",
headers: {
"Content-Type": "application/json",
},
}
);
const data = await response.json();
if (response.ok) {
alert("Suppression de la discussion publique réussie!");
adminChatWindow.innerHTML = "";
} else {
alert(
"Erreur lors de la suppression de la discussion publique : " +
data.message
);
}
} catch (error) {
console.error(
"Erreur lors de la suppression de la discussion publique : ",
error
);
alert(
"Erreur lors de la suppression de la discussion publique : " +
error.message
);
}
}
});
}
async function loadAllMessages() {
try {
const response = await fetch(
"http://localhost:3000/api/allProfilesMessages",
{
method: "GET",
headers: {
"Content-Type": "application/json",
},
}
);
if (!response.ok) {
console.warn("Problème pour obtenir les messages publics");
alert(
"Problème pour obtenir les messages publics. Veuillez réessayer plus tard."
);
return;
}
const data = await response.json();
if (adminChatWindow) {
adminChatWindow.innerHTML = "";
if (Array.isArray(data)) {
data.forEach((message) => {
const messageItem = document.createElement("div");
messageItem.classList.add("message-item");
messageItem.innerHTML = `<p>${message.content}</p>
<small class="text-muted">${new Date(
message.createdAt
).toLocaleString()}</small>`;
adminChatWindow.appendChild(messageItem);
});
} else {
console.error("Les données reçues ne sont pas un tableau");
alert(
"Erreur lors de la récupération des messages publics. Veuillez réessayer plus tard."
);
}
}
} catch (error) {
console.error(
"Erreur lors de la récupération des messages publics : ",
error
);
alert(
"Erreur lors de la récupération des messages publics. Veuillez réessayer plus tard."
);
}
}
async function loadAllUsers() {
try {
const response = await fetch("http://localhost:3000/api/Users", {
method: "GET",
headers: {
"Content-Type": "application/json",
},
});
if (!response.ok) {
console.warn("Problème pour obtenir la liste des utilisateurs");
alert(
"Problème pour obtenir la liste des utilisateurs. Veuillez réessayer plus tard."
);
return;
}
const data = await response.json();
if (allUsersList) {
allUsersList.innerHTML = "";
if (Array.isArray(data)) {
data.forEach((user) => {
const userItem = document.createElement("div");
userItem.classList.add("list-group-item");
userItem.innerHTML = `<p>${user.username}</p>`;
allUsersList.appendChild(userItem);
});
} else {
console.error("Les données reçues ne sont pas un tableau :", data);
alert(
"Erreur lors de la récupération de la liste des utilisateurs. Veuillez réessayer plus tard."
);
}
}
} catch (error) {
console.error(
"Erreur lors de la récupération de la liste des utilisateurs : ",
error
);
alert(
"Erreur lors de la récupération de la liste des utilisateurs. Veuillez réessayer plus tard."
);
}
}
loadAllUsers();
loadAllMessages();
et c'est là où j'ai eu ses deux messages. Pouvez vous m'aider SVP et me dire comment je pourrais modifier? Merci à tous
Suppression d'un sujet de discussion privée ouvert
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.