2010-07-08 3 views
0

Quel est le problème avec ce code? Je ne suis pas en mesure de valider 'données':

$.post('http://localhost/do.php', function(data) 
{ 
    if (data == "success") 
    { 
    //do something... but this line never hit! 
    } 
}); 

J'ai aussi essayé,

alert(data); 

mais reçu un message d'alerte vide!

le do.php sur le succès, la "réussite" de l'écho

echo "success"; 

ok .. voici le code complet d'origine:

<script type="text/javascript"> 
function confirm_delete(id) 
{ 
    var r=confirm("Are you sure you want to delete?"); 
    if (r==true) 
    { 
     var path = "http://localhost/site/index.php/delete/" + id; 

    $.post(path, function(data) 
     { 
      if (data=='success') 
      { 
      $('#'+id).remove(); 
      } 
      else 
      { 
      alert("Unable to delete, try again!"); 
      } 
     }); 

    }else 
    { 
     //cancel 
    } 
} 

//--> 
</script> 

Dans le HTML, il y aura de nombreux postes avec leur ids respectifs dans div, pondus par php base de données, un peu comme ceci:

<div id="1"> 
<div class='post'>Something</div> 
<a href="#"><img src="styles/plugins/buttons/icons/cross.png" height="8" width="8" title="Remove" onclick="confirm_delete(1)"/></a> 
</div> 

<div id="2"> 
<div class='post'>Something</div> 
<a href="#"><img src="styles/plugins/buttons/icons/cross.png" height="8" width="8" title="Remove" onclick="confirm_delete(2)"/></a> 
</div> 

<div id="3"> 
<div class='post'>Something</div> 
<a href="#"><img src="styles/plugins/buttons/icons/cross.png" height="8" width="8" title="Remove" onclick="confirm_delete(3)"/></a> 
</div> 

dans le php il n'y a rien maintenant ... ça imprime juste le succès ... je l'ai fait comme ça pour les tests.

echo "success"; 

En passant directement à la liaison, l'impression est "réussie". Est-ce que 'Data' est une chaîne? Je veux dire est-ce correct?

if (data=='success') 
+0

D'où vient la demande? –

+0

Que fait http: //localhost/do.php? Utilisez Firebug pour examiner la requête HTTP et la réponse. –

+0

echo "succès"; – esafwan

Répondre

0

Il semble bien que jQuery soit en train de générer une erreur AJAX. Si jQuery rencontre une erreur en utilisant l'une de ces méthodes sténographiques ($ .get() $ .set()), elle échoue silencieusement. Toutefois, si vous implémentez la méthode ajaxError() dans jQuery, vous pouvez obtenir l'erreur. Je suggère de faire cela avant d'aller plus loin.

+0

firebug montre que sa publication, mais pas de retour! – esafwan

+0

Ah, c'est certainement intéressant.Peut-être essayer simplement POSTing à 'http: // localhost/site/index.php' sans' delete/"+ id' à la fin, pour voir si même cela échoue? –

+0

quand je vais à cet url directement son succès d'impression ... est-ce si (data == "suc cess ") une bonne façon de vérifier? Je veux dire, est-ce que les données sont une chaîne? – esafwan

0

Imprimez-vous/en répercutant la valeur des données dans votre fichier do.php?

+0

oui echo -ing "succès" – esafwan

+0

utilisez-vous firebug pour le débogage? Si oui, quelle réponse vous obtenez dans – naiquevin

+0

réponse vide! – esafwan

0

Avez-vous vérifié le journal des erreurs de votre serveur Web pour vous assurer que le serveur n'échoue pas et n'enregistre pas l'erreur au lieu de l'afficher?

Questions connexes