【发布时间】:2012-07-29 00:54:09
【问题描述】:
我试图在通过 AJAX 调用创建 Javascript 对象后触发操作。我的对象看起来像这样:
function API(uid,accessToken){
$.ajax("path/to/file", {
type: "POST",
data: { user: uid, auth: accessToken },
dataType: "json",
success: function(jsonData) {
arrayname = jsonData[values]
}
});
}
我尝试在对象设置完成后使用 JQuery 的 $.when 函数进行回调(即数组填充了 ajax 响应),如下所示:
$.when( API = new API(uid, accessToken) ).then(function() {
...success function...
});
...但是$.when 函数触发时数组名值仍未定义。从函数的角度来看,即使对象值尚未设置,延迟对象也会被解析。从那以后,我尝试了多种方法来根据整个 ajax 调用的完成和变量的设置来延迟 API 对象,但我有点坚持最好的方法。
任何指针将不胜感激!谢谢。
【问题讨论】:
-
谢谢,已修复该错误(与手头的问题无关)。
标签: javascript jquery jquery-deferred