Agefoddx/js/envoiePost.js
2025-03-26 10:22:20 +01:00

33 lines
1.1 KiB
JavaScript

/**
* @param data array liste de donnée
* @param url string url du controller frontal
* @param csrfToken string jeton de connexion dolibarr
* @do inject des formulaires invisible pour transmettre des données
*/
function envoyerPost(data, url, csrfToken) {
// Créer un formulaire
const form = document.createElement('form');
form.method = 'POST';
form.action = url;
// Ajouter chaque clé-valeur du tableau comme champ de formulaire
for (const [key, value] of Object.entries(data)) {
const input = document.createElement('input');
input.type = 'hidden';
input.name = key;
input.value = value;
form.appendChild(input);
}
// Ajouter le jeton CSRF au formulaire
const csrfInput = document.createElement('input');
csrfInput.type = 'hidden';
csrfInput.name = 'token';
csrfInput.value = csrfToken;
form.appendChild(csrfInput);
// Ajouter le formulaire au document, le soumettre et le supprimer
document.body.appendChild(form);
form.submit();
document.body.removeChild(form);
}