2010-04-06 4 views
2

J'ai un appel .ajax $ incluant à la fois une condition de réussite et d'erreur:

$('input[name="StateName"]').live('change', function() { 
    var StateID = $(this).parents('tr').attr('id'); 
    var StateName = $(this).val(); 
    $.ajax({ 
     url: 'Remote/State.cfc' 
     ,type: "POST" 
     ,data: { 
      'method': 'UpdateStateName' 
      ,'StateID': StateID 
      ,'StateName': StateName 
     } 
     ,success: function(result){ 
      if (isNaN(result)) { 
       $('#msg').text(result).addClass('err'); 
      } else { 
       $('#' + result + ' input[name="StateName"]').addClass('changed'); 
      }; 
     } 
     ,error: function(msg){ 
      $('#msg').text('Connection error').addClass('err'); 
     } 
    }); 
}); 

Q: Dois-je également envelopper cela dans un try/catch?

Répondre

2

Il n'y a pas besoin d'essayer catch, car cela ajoute à la redondance. Du côté de jQuery, ils ont très bien réussi à rattraper les erreurs dans leurs méthodes. En ce qui concerne votre code, à mon humble avis, je ne vois pas le besoin.

+0

Il écrit que jQuery détectera toute erreur. Notez que dans jQuery 1.4, lorsque vous renvoyez un JSON invalide, une erreur doit être détectée avec un try/catch dans votre fonction de succès. – Drew

1

502 L'erreur HTTP ne peut pas être interceptée par jquery