2014-11-25 2 views
0

У меня есть этот вызов AJAX, который я делаю. Как я могу заставить этот JQuery обновить/перезагрузить скрипт, который вызывается, и затем выполнить вызов AJAX. Я хочу использовать это, если пользователь снова щелкнет ту же кнопку и покажет новые данные.перезагрузить/обновить PHP-скрипт с помощью вызова AJAX?

Проблема:

При aht_button нажатии возвращает данные, но если я обновить страницу, и я reclick кнопку она еще покажет мне старые данные. Мне нужно вручную обновить мой «show_aht.php» в моем браузере, а затем нажать «aht_button», чтобы я мог отображать новые данные, которые извлекаются из «show_aht.php».

благодарит заранее!

JS:

<div id="aht"> 
    <button id="aht_button">AHT</button>  
</div> 

<script type="text/javascript"> 
     $(document).ready(function() { 
       $('#aht').click(function(){ 
        $.ajax({ 
        type:"GET", 
        url : "show_aht.php", 
        data:{ } , 
        dataType: 'json', 
        success : function(data){ 
         //get the MIN value from the array 
          var min = data.reduce(function(prev, curr) { 
           return isNaN(+curr['aht_value']) || prev < +curr['aht_value'] ? prev : +curr['aht_value']; 
          }, 1000000); 

          alert("min:" + min); 
          //get the MAX value from the array 
          var max = data.reduce(function(prev, curr) { 
           return isNaN(+curr['aht_value']) || prev > +curr['aht_value'] ? prev : +curr['aht_value']; 
          }, -1000000); 

          alert("max:" + max); 
          //function for calculation of background color depending on aht_value    
          function conv(x){ 
           return Math.floor((x - min)/(max - min) * 255); 
          } 

          //function for background color, if NA then show white background, either show from green to red 
          function colorMe(v){ 
           return v == 'NA' ? "#FFF" : "rgb(" + conv(v) + "," + (255-conv(v)) + ",0)"; 
          } 

         //going through all DIVs only once with this loop 
         for(var i = 0; i < data.length; i++) { // loop over results 
         var divForResult = $('#desk_' + data[i]['station']); // look for div for this object 
         if(divForResult.length) { // if a div was found 
          divForResult.html(data[i]['aht_value']).css("background-color", colorMe(data[i]['aht_value'])); 
         }//end if 
         }//end for 
        }//end success 
       });//end ajax 
       });//end click 
      });//end rdy 
     </script> 
+0

Немного не по теме: считаю не порождая бесполезные комментарии. – Vladimirs

+0

@ Vladimirs Я использую эти комментарии в своем коде. Я копирую/вставляю. Это помогает мне понять, что я делаю. Вы правы, вы не по теме. – alda1234

+0

Поместите вызов ajax прямо в документ. Уже –

ответ

0

Вы можете использовать ссылку хэши для перенаправления и поймать их после того, как страница перезагружается

window.location = window.location + "#do=ajax"; 
// after page load 
$(document).ready(function() { 
    var hash = window.location.toString().split("#")[1]; 
    // cases 
}); 
+0

waht точно вы подразумеваете под «случаями»? У меня много чего происходит в моем звонке AJAX. спасибо – alda1234

+0

Я имею в виду, вы можете делать не только аякс с ним. Это всего лишь шаблон маршрута, чтобы что-то делать в js между загрузками страниц –

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