這很清楚我不明白函數如何在Javascript中作用域。下面是最新的例子:界定Javascript功能範圍問題
function riseData() {
var jsonResult;
$.ajax({
success: function(data, textStatus, jqXHR){
jsonResult = jqXHR.responseText;
alert("Inside: " + jsonResult);
},
error: function (jqXHR, textStatus, errorThrown) {
$('#errLog').append('<br>Status: ' + qXHR.statusText);
}
});
return jsonResult;
}
$(document).ready(function(){
var intervalID = setInterval('UTCclock()',100);
alert("Outside: " + riseData());
});
當我執行此,「內」提醒功能正常,但「外面」警報顯示「不確定」,儘管riseData()顯然定義只有幾行早。代碼中有一個$ .ajaxSetup,它定義了ajax調用的參數。 ajax調用成功返回「Inside」警報中的請求數據。
我只是沒有絲毫的線索如何使必要的數據(jqXHR.responseText)可用於腳本的其他部分。
任何人都可以指出我在一個「Javascript範圍傻瓜」如何解決這個問題?
riseData()實際上返回了var'jsonResult'這是在返回時爲空值。問題是您的AJAX呼叫 – JohnP 2011-05-28 06:24:44