【发布时间】:2014-08-14 23:47:48
【问题描述】:
我想知道下面代码的行为。 Ajax.chan(tid) 是下面的 ajax 调用。其他三个函数与 Ajax 无关。当我没有将参数传递给Display.channelLoad 时,代码会按预期工作,并且这些函数会在 ajax 完成后运行。但是如果我把它改成.done(Display.channelLoad()),这个函数会在ajax调用完成之前运行。这可能是我缺少的一些基本 javascript 知识,但我想将参数传递给 Display.channelLoad 并了解这里发生了什么。
AjaxCall.chan(tid).done(List.articles)
.done(Display.channelLoad)
.done(Display.unblockUI);
AjaxCall.chan()
var AjaxCall = {
chan: function(tid) {
return getArticles = $.ajax({
url: "http://ainonline.com/api/channel/" + tid,
context: document.body,
dataType: 'jsonp'
});
}
谢谢。
【问题讨论】:
标签: javascript jquery ajax