【发布时间】:2015-09-29 15:30:44
【问题描述】:
所以我阅读了几篇关于如何执行此操作的帖子,例如 this 和 this,但我选择了其他似乎适用于此内部 LOB 应用程序的内容。在加载现有的“分配”之前,我遇到了异步加载数据库依赖项的问题(即,它在加载部门、部门等之前尝试加载 getAllocation()、getAssignedAssts() 等),所以我只放了第二个 $.依赖关系的 doneCallback 内的 when/done 调用。像这样:
// assume allocationID is defined as allocation id we want to get from db
$.when(getDept(), getDivisions(), GetAvailComments(), getTargets())
.done(function msg1, msg2, msg3, msg4) {
// initialize variables, knockout observables and observable arrays
$.when(getAllocation(allocationID), getAssignedAssts(allocationID), getAssignedTeachers(allocationID))
.done(function msg1, msg2, msg3) {
});
})
.fail(function jqXHR, textStatus, errorThrown) {
alert('Error getting Allocation: ' + jqXHR.status + ' ' + textStatus + ', ' + errorThrown + '<br />' + jqXHR.responseText);
});
假设 getDept()、getDivisions() 等存在并返回这样的 ajax 承诺:
function getDept() {
var data = { plan_id: getParameterByName('plan_id') };
return $.ajax({
type: "POST",
url: "Plan_Edit.aspx/PlanDept",
data: JSON.stringify(data),
contentType: "application/json; charset=utf-8",
dataType: "json"
});
};
我的问题是这是否不好,如果是,那么“正确”的做法是什么?
【问题讨论】:
-
有人吗?只要确保这没问题..
标签: jquery