2010-09-05 3 views
0

J'ai utilisé des instructions if avant dans la fonction de succès d'un appel ajax, mais pour la vie de moi, je ne peux pas faire fonctionner cela. Je peux alerter tous les VARS et ils montrent les données, mais l'énoncé de condition ne fonctionnera pas. Qu'est-ce que je fais mal? Je ne peux pas l'avoir.si l'instruction ne fonctionne pas dans l'appel Jquery Ajax?

jQuery.ajax({ 
       type: "POST", 
       url: "/ajax/uiProcessPhoto.php", 
       data: "action="+ action, 
       success: function(response){    
        var s_response = response.split("|"); 
        var qsize = data.fileCount;  
        var ptotal = s_response[0]; 
        var ltotal = s_response[1]; 
        var allowed = s_response[1] - s_response[0];   
        if (ptotal >= ltotal){ 
        alert("Unable to add photos to queue. You have reached the maximum number of photo uploads allowed."); 
        }else if (ptotal + qsize >= ltotal){      
        alert("The total photos select will exceed the maximum upload limit. Please upload up to " + allowed + " more photos to continue."); 
        }else if (response == 1){ 
        jQuery('#upload').show(); 
        }; 
        alert(allowed); 
        } 
       }); 
+0

Pourquoi avez-vous supprimer votre réponse BalusC? J'ai vu ce que c'était et ça a marché. J'allais l'accepter mais il m'a donné une erreur qu'il a été supprimé. ??? –

+0

Il y avait un problème dans mon esprit (il est tard en ce moment). Pour me mettre en sécurité, j'ai supprimé la réponse et j'ai essayé de reproduire le problème, juste pour être sûr. J'ai finalement réalisé que j'avais raison, donc j'ai ramené la réponse :) – BalusC

Répondre

3

Vous traitez ptotal et qtotal sous forme de chaînes, et non comme des nombres. Sous chaque + la ligne suivante dans la

}else if (ptotal + qsize >= ltotal){ 

les fera à coller ensemble plutôt que d'être résumer.

Vous souhaitez analyser ces chaînes en nombres réels:

var ptotal = parseInt(s_response[0]); 
var ltotal = parseInt(s_response[1]); 
+0

Oh je vois pourquoi vous avez supprimé la première réponse, Vous avez ajouté plus de clarification. Merci pour la réponse rapide. Cela a fonctionné. –