Actualiser test.html
CI / PHP Syntax Check (push) Has been cancelled
CI / JavaScript Lint (push) Has been cancelled
CI / Docker Build Test (push) Has been cancelled
CI / Validate Translation Files (push) Has been cancelled
CI / Auto-merge develop → main (push) Has been cancelled
CI / Create GitHub Release (push) Has been cancelled
CI / PHP Syntax Check (push) Has been cancelled
CI / JavaScript Lint (push) Has been cancelled
CI / Docker Build Test (push) Has been cancelled
CI / Validate Translation Files (push) Has been cancelled
CI / Auto-merge develop → main (push) Has been cancelled
CI / Create GitHub Release (push) Has been cancelled
This commit is contained in:
@@ -82,14 +82,14 @@
|
||||
|
||||
const checkedBoxes = document.querySelectorAll('.prod-check:checked');
|
||||
if(checkedBoxes.length === 0) return alert("Coche des produits !");
|
||||
|
||||
|
||||
const btn = document.getElementById('save-btn');
|
||||
btn.disabled = true;
|
||||
btn.textContent = "Traitement en cours...";
|
||||
|
||||
let successCount = 0;
|
||||
let errorCount = 0;
|
||||
|
||||
|
||||
for (const checkbox of checkedBoxes) {
|
||||
let p = fullProductList[checkbox.dataset.index];
|
||||
|
||||
@@ -100,20 +100,27 @@
|
||||
formData.set('category', newCat);
|
||||
|
||||
try {
|
||||
// On ajoute l'en-tête X-Requested-With qui est souvent le verrou du 403
|
||||
let res = await fetch('api/index.php?action=product_save', {
|
||||
method: 'POST',
|
||||
body: formData
|
||||
body: formData,
|
||||
headers: {
|
||||
'X-Requested-With': 'XMLHttpRequest'
|
||||
}
|
||||
});
|
||||
|
||||
// On récupère le texte pour voir ce que le serveur dit vraiment en cas d'erreur
|
||||
let resultText = await res.text();
|
||||
|
||||
if (res.ok) {
|
||||
successCount++;
|
||||
} else {
|
||||
console.error("Erreur serveur sur " + p.name);
|
||||
console.error("Échec sur " + p.name + " (Code " + res.status + "):", resultText);
|
||||
errorCount++;
|
||||
}
|
||||
await new Promise(r => setTimeout(r, 250));
|
||||
await new Promise(r => setTimeout(r, 300));
|
||||
} catch (e) {
|
||||
console.error("Erreur réseau sur " + p.name, e);
|
||||
console.error("Erreur critique sur " + p.name, e);
|
||||
errorCount++;
|
||||
}
|
||||
}
|
||||
@@ -121,8 +128,7 @@
|
||||
await loadData();
|
||||
btn.disabled = false;
|
||||
btn.textContent = "APPLIQUER AUX COCHÉS";
|
||||
|
||||
alert(`Traitement terminé :\n- Succès : ${successCount}\n- Erreurs : ${errorCount}`);
|
||||
alert(`Traitement terminé :\n- Succès : ${successCount}\n- Erreurs : ${errorCount}\n\n(Vérifie la console F12 pour le détail des erreurs)`);
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
|
||||
Reference in New Issue
Block a user