2013-03-28 2 views
0

У меня возникла проблема, когда json jquery call работает только при обновлении страницы после загрузки страницы. т.е. при загрузке страницы данные не обновляются, при обновлении страницы обновляются данные. Он подает выбранный список. У меня есть следующие настройки JQuery Ajax:ajax call только получать последние данные на странице обновления

$(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

Он вызван в функции готовности документа – jeeperscreepers

ответ

0

(а) Является ли 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(){ 
     .... 
    } 
}); 
+0

Да, я вызываю GetEnergyData() в функции готовности документа – jeeperscreepers

0

Я считаю, что вам может понадобиться определить функцию вне док готовы, так что она определяется к тому времени doc.ready пожаров событий:

$(document).ready(function(){ 

    GetEnergyData();   

    ... 

}); 

function GetEnergyData(){ 
    .... 
} 

Тем не менее, кажется, что вы должны быть получить некоторые ошибки javascript, если это проблема. Вы должны проверить консоль F12->, чтобы увидеть, есть ли какие-либо ошибки и какая строка говорит о том, что ошибка включена.

Смежные вопросы