J'ai un problème particulier avec l'obtention d'un nombre entier à partir d'une réponse ajax. À chaque fois que j'appelle le code suivant, parseInt (data) renvoie NaN malgré le fait que les données soient une chaîne.ParseInt ne fonctionne pas sur la réponse Jquery ajax
function poll() {
$.ajax({
type: "GET",
dataType: "html",
url: 'images/normal/' + userId + '/' + saveCode + 'progress.txt',
error: function() {poll();},
success: function(data) {
// Change the text
$('#loading_text').html(data + '% complete');
// Change the loading bar
max = 357;
current_percent = parseInt(data); // returns NaN
$('loading_bar').width(Math.round(max * (current_percent/100)));
// Call the poll again in 2 seconds
if (loaded != true)
{
setTimeout(poll, 2000);
}
}
});
}
En Firebug, typeof (données) est une chaîne et des données = "89" (ou un autre numéro 1-100) mais il ne fonctionne toujours pas. Des indices?
typeof (+ données) retourne nombre, mais seulement + données sur ses propres retours NaN – Lobe
Pouvez-vous faire alerte (data.length)? Je pense que vous avez des non-chiffres avant "89". – YOU
Cela fait beaucoup plus de sens maintenant. data.length = 211. Cela est probablement dû à mon code php qui met à jour le fichier texte 105 fois pour fournir des mises à jour de progression, donc il ne nettoie pas correctement le fichier. Quel est le meilleur moyen de résoudre ce problème? Je pensais que les fonctions de trim auraient travaillé – Lobe