2013-03-28 79 views
0

我有一個問題,json jquery調用僅適用於頁面加載後刷新頁面。即在頁面加載時數據不刷新,刷新頁面數據刷新。它提供了一個選擇列表。我有以下的jQuery AJAX設置:ajax調用只刷新頁面上獲取最新數據

$(document).ready(function() { 
    $.ajaxSetup({'async': false, 'cache':false}); 

以下是我的JSON聲明:

$.getJSON('ajax.cfm?action=refresh_bsu&site='+site+'&BaseLineYear='+BaselineYear+'&item=EnergyData', function(EnergyData) { 
     SiteEnergyData = EnergyData; //Make it a global variable   
    }); 

這是完整的功能:

function GetEnergyData(){ 
    var site = $("#busUnitSubGroup").val(); 
    var BaselineYear = $("#BaselineYear").val(); 

    SiteEnergyData = ""; 

    $.getJSON('ajax.cfm?action=refresh_bsu&site='+site+'&BaseLineYear='+BaselineYear+'&item=EnergyData', function(EnergyData) { 
     SiteEnergyData = EnergyData; //Make it a global variable   
    }); 
} 

誰能幫助我解決這個問題,請?

感謝 JC

+0

getJSON從哪裏調用? – AaronLS

+0

它在doc就緒函數中被調用 – jeeperscreepers

回答

0

(一)是GetEnergyData()功能外定義(因爲你已經注意到這是一個全局變量)SiteEnergyData。如果沒有,它只會在該功能中可見。

(b)您是否打電話給GetEnergyData()準備好文件?我假設,因爲(出於某種原因)它適用於重新加載,但不是初始加載。

$(document).ready(function(){ 

    var SiteEnergyData = ""; // (a) global variable... well, within doc ready 
    GetEnergyData();   // (b) calls function once page is loaded 

    ... 

    function GetEnergyData(){ 
     .... 
    } 
}); 
+0

是的,我正在調用Doc就緒函數中的GetEnergyData() – jeeperscreepers

0

我相信你可能需要定義文檔準備的外設功能,因此,它是由當時的doc.ready事件觸發定義:

$(document).ready(function(){ 

    GetEnergyData();   

    ... 

}); 

function GetEnergyData(){ 
    .... 
} 

但是,好像你應該如果這是問題,請獲取一些javascript錯誤。您應該檢查F12->控制檯以查看是否有任何錯誤以及它說錯誤是在哪一行。