我遇到了一个问题,一个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->控制台,看看是否有任何错误,以及它说错误在哪一行。