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からfirstname値を取得する方法はありますか? 基本的にaa1に渡しますか?

タイ!

4

1 に答える 1

1

コールバック.then()の代わりに連鎖を使用する必要があります。success

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