我正在使用jQuery promises来预填充
如果
错误信息为:
我猜这是因为返回
如何解决这个问题?如果可能的话,我倾向于不进行不必要的 Ajax 调用。
更新:值得注意的另一件事是,我需要在返回的内容中保留
select
选项的值。这个功能很好用,但是当不需要Ajax调用时该怎么办呢?因此代码不会返回promise。如果
this.orgId
未定义,则下面的代码无法正常工作,会出现错误:getFormValues: function() {
var _this = this;
return _this.prefillOrgs()
.then(function(orgId) {
_this.globalOptions.orgId = orgId;
return true;
});
},
prefillOrgs: function() {
if (typeof this.orgId !== 'undefined') {
return $.ajax({
type: 'GET',
url: '/api/1.0/org_code?exact=true&q=' + this.orgId,
dataType: 'json',
context: this
});
} else {
// Doing this produces an error
return [];
}
}
错误信息为:
Uncaught TypeError: _this.prefillOrgs(...).then is not a function
我猜这是因为返回
[]
不是一个 Promise,并没有定义 .then()
方法。但是,在这种情况下,我希望返回 []
作为我的数据负载。如何解决这个问题?如果可能的话,我倾向于不进行不必要的 Ajax 调用。
更新:值得注意的另一件事是,我需要在返回的内容中保留
this
上下文。