2009-12-10 22 views
0

我googled data.success,但我不能正確的文件。 以下jquery中的data.success是什麼?它是JavaScript,jQuery或JSON?是data.success的JavaScript,jQuery或JSON?

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

- 編輯 -

完整的jQuery

$(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(); 
        }); 
      } 

- 編輯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

remove_row從哪裏調用?不知道,我們不能告訴你... – jvenema

回答

1

這看起來像jQuery Ajax調用後的回調。傳入的「data」對象是ajax調用的結果,但其類型將取決於您在ajax調用中要求的響應類型。你可以指定一個ajax請求來返回json,xml,html,text等。 - 「data」將包含結果。

但是,在這種情況下,根據使用情況,它看起來像Ajax調用已經返回JSON,而jQuery已經變成了一個JavaScript對象(以便您可以調用它的屬性,如「成功」)。

0

我猜'成功'只是數據對象的一個​​屬性,比如一個標誌。刪除一行時,首先在服務器端執行,設置標誌。然後這個函數刪除行或者顯示每個這個標誌的錯誤消息。

0

成功是JSON數據的一部分,請求(delete.php)返回