我正在努力使jQuery.when功能起作用。
我有一个功能测试,它连接到另一个脚本并检索 firstName 值。
这样可行,如果我执行console.log
,我可以看到该值但我似乎无法在 .done函数中提供该值
任何想法为什么?
function test (email, key) {
if (!isEmpty(email) && !isEmpty(key)) {
var script = getScriptUrl(email, key);
return jQuery.ajax({
url : script,
dataType: 'script',
success : function() {
// This function retrieves the fisrtname value
firstName = getScriptUrlFunction('FirstName');
}
});
}
}
$.when(
test(email, key)
).done(function(aa1) {
// This shows undefined - how do I get the firstName here?
// Why doesn't it work?
console.log(aa1);
});
这是aa1的控制台:
[undefined, "success", Object { readyState=4, status=200, statusText="success", more...}]
有没有办法从 aa1 获取名字值?基本上把它传递给 aa1 ?
泰!
答案 0 :(得分:1)
您需要使用.then()
链接而不是success
回调:
return $.ajax({ ... })
.then(function() { return getFirstName(...); });