我正在使用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();
有什么想法吗?
答案 0 :(得分:0)
您需要将函数引用(或匿名函数)传递给.done()
。现在您传递函数的返回值。在.done()
电话结束时还有一个额外的逗号。
$.getJSON('/accounts/ajax/user_details/', {'user_id' : "$user_id"})
.done( update_user_details ) // <-- no parentheses, no comma
.fail();
而且,作为旁注,.fail()
本身并没有做任何事情;你必须传递一个处理错误的函数。