有谁能告诉我这段代码有什么问题?出于某种原因,我的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);
}
});
请参阅jSFiddle
上的示例答案 0 :(得分:1)
首先,它是因为你的函数asdf()不了解变量gooGl。其次,gooGl()是函数而不是变量。
试试这个:
setTimeout(function () {
asdf(gooGl);
}, 5000);
function asdf(gooGl) {
var uiop = gooGl;
console.info('The Short Url is: ' + uiop);
}
答案 1 :(得分:0)
你在Ajax调用的成功函数中声明了gooGl。这意味着它不会作为您的asdf函数使用的全局变量处理。你必须通过参数交付它。
另外你调用gooGl()而不是gooGl,这意味着gooGl变量的内容不作为变量类型返回,而是作为函数调用返回。