Jquery ajax调用仅在页面刷新时获取最新数据

Jquery ajax调用仅在页面刷新时获取最新数据,jquery,ajax,json,Jquery,Ajax,Json,我遇到了一个问题,json jquery调用只能在页面加载后刷新页面。ie在页面加载时不刷新数据,在刷新页面时刷新数据。它提供一个选择列表。我有以下jquery ajax设置: $(document).ready(function() { $.ajaxSetup({'async': false, 'cache':false}); 以下是我的json语句: $.getJSON('ajax.cfm?action=refresh_bsu&site='+site+'&

我遇到了一个问题,json jquery调用只能在页面加载后刷新页面。ie在页面加载时不刷新数据,在刷新页面时刷新数据。它提供一个选择列表。我有以下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)是在
GetEnergyData()
函数之外定义的
sitenergydata
(因为您已经注意到它是一个全局变量)。如果没有,它将仅在该函数中可见

(b) 您正在调用doc ready中的某个地方的
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->控制台,查看是否有任何错误,以及它表示错误在哪一行。

从哪里调用getJSON?它在doc ready函数中被调用