无法使jQuery变量工作

无法使jQuery变量工作,jquery,Jquery,谁能告诉我这个代码有什么问题吗?由于某种原因,我的uiop变量无法工作 $(document).ready(function () { var siteUrlValue = 'http://www.dagbladet.no/'; console.group('Initializing Google URL Shortener API...'); $.urlShortener({ longUrl: siteUrlValue, success:

谁能告诉我这个代码有什么问题吗?由于某种原因,我的
uiop
变量无法工作

$(document).ready(function () {
    var siteUrlValue = 'http://www.dagbladet.no/';
    console.group('Initializing Google URL Shortener API...');
    $.urlShortener({
        longUrl: siteUrlValue,
        success: function (shortUrl) {
            var gooGl = shortUrl;
            console.info('The Short Url is: ' + gooGl);
            console.groupEnd();
            setTimeout(function () {
                asdf();
            }, 5000);
        },
        error: function (err) {
            console.error(JSON.stringify(err));
            console.groupEnd();
        }
    });

    function asdf() {
        var uiop = gooGl();
        console.info('The Short Url is: ' + uiop);
    }
});

请参见

中的示例,您在Ajax调用成功的内部声明了gooGl。这意味着它不会作为全局变量处理,以供asdf函数使用。您必须通过参数将其移交


另外,调用gooGl()而不是gooGl,这意味着gooGl变量的内容不是作为变量类型返回的,而是作为函数调用返回的。

首先,这是因为函数asdf()不知道变量gooGl。其次,gooGl()是函数而不是变量

试试这个:

setTimeout(function () {
            asdf(gooGl);
}, 5000);

function asdf(gooGl) {
    var uiop = gooGl;
    console.info('The Short Url is: ' + uiop);
}
未定义
gooGl()
(检查控制台)。