这是一些基本的变量范围问题,但我无法想象如何从异步回调函数中“提取”变量:
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
</head>
<body>
<div id="container"></div>
<script>
var API_KEY = "***";
var USERNAME = "***";
var res;
$(
start()
);
function start(){
$.getJSON(
"https://www.googleapis.com/youtube/v3/channels",
{"part": "contentDetails", "forUsername": USERNAME, "key": API_KEY},
function(data){
alert("Success");
var s = "";
s = data.items[0].contentDetails.relatedPlaylists.uploads;
$("#container").html(s);
var res = s;
}
);
};
</script>
</body>
</html>
我有这个代码获取有关Youtube频道的信息,我尝试将“s”放在“res”中,这是一个全局变量,但它不起作用。有办法吗?
(如果有人知道从getJSON返回的响应对象中提取数据的更好方法,那将是一个更好的主意,但我无法弄明白......)
由于
答案 0 :(得分:-1)
更新下面的代码。在侧面成功函数中从res中删除var。阅读有关javascript变量范围HERE
的更多信息function start(){
$.getJSON(
"https://www.googleapis.com/youtube/v3/channels",
{"part": "contentDetails", "forUsername": USERNAME, "key": API_KEY},
function(data){
alert("Success");
var s = "";
s = data.items[0].contentDetails.relatedPlaylists.uploads;
$("#container").html(s);
res = s;
}
);
};