2010-09-03 5 views
0

Rien ne cloche, dès que je change la lib à 1.3.2 mes trucs de succès fonctionne très bien? Comment vient? Pas même l'alerte avec le test apparaît ..jQuery: succès en cours d'exécution en 1.3.2 mais pas en 1.4.2

Voici le code ce qui se passe sur:

function crop() { 
    $.ajax({ 
     type: "POST", 
     dataType: 'json', 
     url:"functions.php?action=crop", 
     data: 
     { 
      x: $('#x').val(),y: $('#y').val(),w: $('#w').val(), 
      h: $('#h').val(),fname:$('#fname').val(),fixed:fixed, 
      sizew:sizew,sizeh:sizeh}, 
      success: function(response) 
      { 
       alert('TEST'); 
       if(!fixed) // Missing { } 
       { 
        $("#showPhoto").css({overflow:"auto"}); // Missing ; 
       } 
       $("#showPhoto").html(
        $(document.createElement("img")).attr(
         "src",response.filename)).show(); 

       $("#showPhoto").after("There you go...").show(); 
       $("#image").slideUp(); 
      }, 
      error:function(response) { 
        console.log('error: ', response); 
       } 
     }); 
    } 

Comment puis-je faire pour travailler avec la bibliothèque jquery 1.4.2?

+4

Qu'est ce que 'fixed'? – SLaks

+0

En quoi est-ce différent de votre précédente question? http://stackoverflow.com/questions/3639317/jquery-whats-up-with-the-success – user113716

+0

fixé est un var fixé = 1; Si l'image a une taille fixe .. – Karem

Répondre

1

Le JSON revenir n'est pas valide, l'exemple que vous avez posté:

({"filename":"images\/profilePhoto\/thumbs\/1283596240.jpg"}) 

Et la réponse que je suis arrivé à la page:

({"filename":"1283597560.jpg"}) 

Les deux ne sont pas valides JSON, vous avez besoin pour enlever l'emballage () là-bas. La différence de 1.3.2 vs 1.4.2 est que dans 1.4.0 jQuery a ajouté une vérification JSON stricte, si elle n'est pas valide, elle échouera (donc cela peut prendre mieux avantage des analyseurs JSON natifs des navigateurs).

From the 1.4 release notes:

analyse syntaxique JSON stricte, en utilisant natif JSON.parse: (jQuery.ajax() Documentation, Commit 1, Commit 2, Commit 3)

jQuery 1.3 et utilisé précédemment eval de JavaScript pour évaluer JSON entrant. jQuery 1.4 utilise l'analyseur JSON natif si disponible. Il valide également le JSON entrant pour la validité, donc JSON malformé (par exemple {foo: "bar"}) sera rejeté par jQuery dans jQuery.getJSON et lors de la spécification de "json" comme dataType d'une requête Ajax.

+0

Merci !! .... – Karem

Questions connexes