33 lines
1.1 KiB
JavaScript
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);
|
|
} |