data.success是javascript,jquery还是json?

时间:2009-12-10 15:50:44

标签: javascript jquery ajax json

我google了data.success,但我没有正确的文档。 以下jquery中的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>

3 个答案:

答案 0 :(得分:1)

这看起来像是jQuery Ajax调用之后的回调。传入的“data”对象是ajax调用的结果,但其类型取决于您在ajax调用中要求的响应类型。您可以指定ajax请求以返回json,xml,html,text等。“data”将包含结果。

但是,在这种情况下,根据用法,看起来Ajax调用已返回JSON,jQuery已变成javascript对象(因此您可以调用它的属性,如“success”)。

答案 1 :(得分:0)

我猜'成功'只是数据对象的属性,例如标志。删除行时,首先在服务器端执行此操作,然后设置标志。然后,此函数将删除该行或显示每个此标志的错误消息。

答案 2 :(得分:0)

成功是JSON数据的一部分,请求(delete.php)返回