2011-05-25 9 views
1

Je suis en train de comprendre, ce qui est que je fais mal dans le code suivant:jQuery ajax problème lié

$(function() { 
    $(".alert").live('click', function(){ 
     var id = $(this).closest("tr").attr("id") 
     var info = 'id=' + id; 
     $.ajax({ 
     type: "POST", 
     url: "http://localhost/app/ajax.php?act=alert", 
     data: info, 
     success: function(Response){ 
      } 
     }); 
    alert(Response); 
    $(this).hide(); 
    return false; 
    }); 
}); 

Return false ne fonctionne pas.

code HTML:

<a href="#" class="alert">Alert</a> 
+0

Qu'est-ce que c'est censé faire et qu'est-ce qui ne fonctionne pas? Il semble que le code ne soit pas en callback réussi ... il ne fonctionne probablement pas car "Response" n'est pas défini (donc il lance une erreur.) Regardez la console –

+0

@Felix Kling ne fonctionne pas correctement, il redirige la page à #, s'il vous plaît même vérifier mon code html – seoppc

Répondre

3

AJAX est par définitionasynchrone.

Lorsque votre appel $.ajax renvoie la demande HTTP sera toujours traitée, et donc Response ne sera pas encore rempli.

Appelez l'appel alert(Response) à l'intérieur de votre rappel success pour voir comment cela devrait fonctionner.

+0

oui fonctionne maintenant, merci, donc pouvez-vous clearifier plus, ce que je faisais mal? – seoppc

+0

vous attendiez Réponse à contenir une valeur avant que le rappel ait jamais été appelé. – Alnitak