これはかなり単純かもしれませんが、それは私を困惑させています。javascriptの変数を関数のスコープ外の別の変数に戻そうとしています。何らかの理由で、割り当てが発生していません。これが私のコードです:
var time = Math.round(((new Date()).getTime())/1000);
// first call to get data
var power_now = get_data(<%= @user.id %>, time);
function get_data(user_id, timestamp){
var targetURL = "get/user_data?time_now="+timestamp+"&user_id="+user_id;
var power = 0;
$.get(targetURL, function(data){
power = data[0]['power'];
alert(power);
})
return power;
}
$('body').html('<h1>'+power_now+','+power_then+'</h1>')
.get関数内にalert(power)を配置すると、値は正しいです。ただし、.get関数の外に配置すると、値は0になります。
たぶん私はjavascriptでのスコープについて何かが欠けていますか?
ありがとう!