[AJAX] barre de progression & Ajax
Bonjour à tous,
Je suis plus ou moins débutant en ASP et j'ai un problème pour faire afficher une barre de progression avec AJAX.
J'ai une page qui doit mettre à jour une base de données Access à partir de données SQL Server. Je veux afficher la progression des tables mise-à jour avec un contrôle ProgressBAr de JQuery.
Sauf que le 'post' de cette page ne débute jamais. Il entre pas dans le 520F1B (j'ai mis un breakpoint dans Visual Studio). De plus, la ligne error: function (xhr, status, errorThrown) me ramene un erreur 500-Internal Server Error au lieu d'appeler mon 520F1B
Est-ce que mon appel Ajax 'POST' est correct ?
Toute informations, pistes de solutions seraient grandement apprécié
Merci à tous
Voici la structure de mes pages
520F1 - Page ASP principale qui doit afficher la barre de progression des tables mises-à-jour.
520F1B - Page qui débute l'export de mes données en ACCESS
520F1C - Page qui fait le 'GET' des étapes (tables mises-à-jour) dans les DLL.
520F1D - Page qui retourne le nom de la BD Acess créee.
Voici l'appel à la procédure Export (520F1B) qui me cause des problèmes.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
|
// Execution de l'export
function ProcessExport(objParams) {
// appel ajax de lancement d'export
//
$.ajax({
type: 'POST',
url: 'REL520F1b.asp',
data: objParams,
error: function (xhr, status, errorThrown) {
alert(errorThrown + '\n' + status + '\n' + xhr.statusText);
}
})
// Vérification de l'état d'avancement de l'export
CheckState();
}
// appel ajax pour récupérer etat avancement
function CheckState() {
setTimeout(function () {
$.ajax({
type: 'GET',
url: 'REL520F1c.asp',
data: {},
success: function (dataGet) {
// conversion en les données de retour en un objet javascript/JSON
var obj = JSON.parse(dataGet);
// mise à jour des indicateurs graphiques ( label + barre de progression )
$("#LblExportProgression").text(obj.progressMsg);
$("#DivExportProgression").progressbar("value", parseInt(obj.progressValue));
// tant que le processus d'export est en cours,
// on appelle récursivement la méthode de test
if (obj.process === "true") {
CheckState();
}
else { // on retourne le fichier généré
window.location.href = "REL520F1d.asp";
}
},
error: function (xhr, status, errorThrown) {
//alert(errorThrown + '\n' + status + '\n' + xhr.statusText);
alert("Echec de la récupération de l'avancement de l'export.Veuillez contacter votre administrateur.");
}
});
}, 500);
} |