变量g的值应该传递给百分比属性 但如果我在传递给百分比之前没有警告(g),它会将g的值视为未定义。解析值"时出现错误。 语言是js / jquery。
system
答案 0 :(得分:1)
AJAX中的A代表异步。
在RefreshCounts中,启动异步调用以填充g
,该调用在AJAX请求完成时调用的回调中设置。然后RefreshCounts退出。此时回调可能已经发生,也可能没有发生。
执行alert
时,它会暂停处理,直到用户接受为止,从而完成AJAX调用时间(并填充g
)。如果没有警报,处理会立即移至下一行,此时可能尚未设置g
。
要解决此问题,请尝试:
var g;
function refreshCounts() {
var url = 'https://graph.facebook.com/v2.8/?ids=' + postID + '&fields=' + reactions + '&access_token=' + access_token;
$.getJSON(url, function(res){
g = (defaultCount + res[postID].reactions_like.summary.total_count);
$('#jq').LineProgressbar({
percentage:g,
radius: '3px',
height: '20px',
});
});
}
$(document).ready(function(){
setInterval(refreshCounts, refreshTime * 1000);
refreshCounts();
});