jQuery,用于检索数据的变量

时间:2013-11-30 08:00:03

标签: javascript jquery json

我正在使用jQuery,我必须这样做:

data = $.getJSON('/accounts/ajax/user_details/', {'user_id' : "$user_id"})
        .fail();
update_user_details(data);

...因为如果我按照官方文档中的建议设置回调函数.done(),则似乎不会定义变量'data':

$.getJSON('/accounts/ajax/user_details/', {'user_id' : "$user_id"})
        .done( update_user_details(data) ),
        .fail();

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

您需要将函数引用(或匿名函数)传递给.done()。现在您传递函数的返回值。在.done()电话结束时还有一个额外的逗号。

$.getJSON('/accounts/ajax/user_details/', {'user_id' : "$user_id"})
    .done( update_user_details )    // <-- no parentheses, no comma
    .fail();

而且,作为旁注,.fail()本身并没有做任何事情;你必须传递一个处理错误的函数。