2009-12-10 2 views
0

J'ai googled data.success, mais je ne pouvais pas document correct. Qu'est-ce que data.success dans la jquery suivante? Est-ce javascript, jquery ou json?Est-ce que data.success javascript, jquery ou json?

function remove_row(data){ 
     if(!data.success) 
     return alert(data.error); 
     $('#delete_link_'+data.id) 
      .closest('li') 
      .slideUp('slow',function(){ 
      $(this).remove(); 
}); 

--Edit--

jquery pleine

$(document).ready(subscribers_init); 
      function subscribers_init(){ 
       $('#subscribers li a:first-child') 
        .click(delete_subscriber); 
      } 
      function delete_subscriber(){ 
       var id=this.href.replace(/.*=/,''); 
       this.id='delete_link_'+id; 
       if(confirm('Are you sure you want to delete this subscriber?')) 
        $.getJSON('delete.php?ajax=true&id='+id, remove_row); 
       return false; 
      } 
      function remove_row(data){ 
       if(!data.success) 
        return alert(data.error); 
       $('#delete_link_'+data.id) 
        .closest('li') 
        .slideUp('slow',function(){ 
         $(this).remove(); 
        }); 
      } 

--edit 2--

delete.php

$id=(int)@$_REQUEST['id']; 
echo (!($id%2))? 
    "{'id':$id,'success':1}": 
    "{'id':$id,'success':0,'error':'Could not delete subscriber'}"; 

HTML

<ul id="subscribers"> 
<li> 
<a href="delete.php?id=3">[x]</a> 
<a href="user.php?id=3">Albertus Ackleton</a> 
</li> 
<li> 
    <a href="delete.php?id=6">[x]</a> 
    <a href="user.php?id=6">Bob Burry</a> 
</li> 
... 
    ... 
</ul> 
+2

Où remove_row nous appelle de? Sans le savoir, nous ne pouvons pas vous dire ... – jvenema

Répondre

1

Cela ressemble au rappel après un appel jQuery Ajax. L'objet "data" transmis est le résultat de l'appel ajax, mais son type dépend du type de réponse que vous avez demandé dans votre appel ajax. Vous pouvez spécifier une requête ajax pour renvoyer json, xml, html, text, etc. - "data" contiendra les résultats. Cependant, dans ce cas, en fonction de l'utilisation, il semble que l'appel Ajax a renvoyé JSON, que jQuery est devenu un objet javascript (pour que vous puissiez appeler des propriétés telles que "success").

0

Je suppose que 'succès' est juste une propriété de l'objet de données, tel qu'un drapeau. Lorsque vous supprimez une ligne, faites-le d'abord du côté du serveur, puis définissez le drapeau. Ensuite, cette fonction supprime la ligne ou affiche le message d'erreur correspondant à ce drapeau.

0
succès

fait partie des données JSON, que la demande (delete.php) est retourné