2016-07-23 14 views
1

Ich baue eine Wetterdaten Live-Website, mit einer Vorlage freundlicherweise für mich gespendet. Es sollte die Elementdaten alle 5 Sekunden aktualisieren oder was auch immer ich eingestellt habe, aber in jedem Browser muss ich aktualisieren oder erzwinge aktualisieren oder sogar löschen alle Geschichte, Cookies, etc., um die neuesten Daten zu erhalten. Ich möchte nicht wirklich die ganze Seite auffrischen.RefreshID = setinterval funktioniert nicht?

$(document).ready(function() { 
    windspeed(); 
}); 

function windspeed() { 
    $('#windspeed').load('windspeed.php'); 
} 
var refreshId = setInterval(windspeed, 5000); 
+0

Ich habe versucht, die Vier-Raum-Regel für die Code-Buchung hier zu verwenden, aber die Forum-Software möchte meinen Code nicht posten ..... – mickeyb

+0

Nein, Sie haben nicht versucht, Vier-Raum-Regel zu verwenden. Schau, ich * habe * das benutzt und es hat funktioniert. – nicael

+0

wirklich leid, aber ich habe versucht, die 4 Leerzeichen und auch Ctrl + k und ich konnte es nicht zur Arbeit, sorry – mickeyb

Antwort

0

Das Problem: Sie machen mehrere URL-Anfragen in der gleichen Zeit, weil Sie setInterval verwenden. Verwenden Sie stattdessen setTimeout, aber nur, wenn die URL-Anforderung abgeschlossen ist.

Sie haben die .load Methode durch $.ajax zu ersetzen, weil sie den Erfolg Rückruf hat:

var refreshId; 

$(document).ready(function() { 
    windspeed(); 
}); 

function windspeed() { 
    $.ajax({ 
     cache: false, 
     success: function(response) { 
      $('#windspeed').html(response); 
      setTimeout(windspeed, 5000); 
     }, 
     type: 'GET', 
     url: 'windspeed.php' 
    }); 
} 
+0

Vielen Dank für Ihren Code, leider habe ich festgestellt, dass ich wahrscheinlich anderen Code ändern müssen, um mit diesem aktualisierten Code zu arbeiten und ich weiß wahrscheinlich nicht, wo ich es finden kann. – mickeyb

1

Ja, es funktioniert !!! Ich danke dir sehr. Du hattest zwei Tippfehler mit 'Windgeschwindigkeit' wie in 'Winspeed', nicht überraschend, wenn man bedenkt, wie schnell du es eingegeben hast. Vielen Dank, ich werde dies mit anderen teilen, die die gleiche Wetterstationsvorlage verwenden. Du hast meinen Tag gemacht, nein, eigentlich hast du meine ganze Woche gemacht.

Danke eine Million.

+0

Ahh! Ich werde das aktualisieren. Es tut uns leid. – Hydro