0

我正在尝试使 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

泰!

4

1 回答 1

1

您需要使用.then()链接而不是success回调:

return $.ajax({ ... })
    .then(function() { return getFirstName(...); });
于 2013-10-25T20:35:50.920 回答