0

ページの読み込み後にページを更新するときにのみ 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        
    }); 
}

誰でもこの問題を解決するのを手伝ってくれますか?

ありがとうございます

4

2 に答える 2

0

(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(){
        ....
    }
});
于 2013-03-28T23:03:49.167 に答える
0

doc.ready イベントが発生するまでに定義されるように、doc ready の外で関数を定義する必要があると思います。

$(document).ready(function(){   

    GetEnergyData();          

    ...

});

function GetEnergyData(){
  ....
}

ただし、それが問題である場合は、JavaScript エラーが発生するはずです。F12->コンソールをチェックして、エラーがあるかどうか、およびエラーが発生している行を確認する必要があります。

于 2013-03-29T22:20:22.290 に答える