Ajax调用只在页面刷新时获取最新数据



我遇到了一个问题,一个json jquery调用只在页面加载后刷新页面。即在页面加载时数据不刷新,在刷新页面时数据刷新。它提供一个选择列表。我有以下jquery 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

(a) SiteEnergyData是否在GetEnergyData()函数之外定义(因为您已经注意到它是一个全局变量)。如果没有,它将只在该函数中可见。

(b)您是否在文档中某处呼叫GetEnergyData()准备好了?我假设是这样,因为(出于某种原因)它在重新加载时工作,而不是初始加载。

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

我相信您可能需要在doc ready之外定义函数,以便在doc就绪时定义它。Ready事件触发:

$(document).ready(function(){   
    GetEnergyData();          
    ...
});
function GetEnergyData(){
  ....
}

然而,似乎你应该得到一些javascript错误,如果这是问题。您应该检查F12->控制台,看看是否有任何错误,以及它说错误在哪一行。

最新更新