Witam wszystkich, mam problem za funkcją timeDate(). zamysł jest taki aby skrypt pobierał dane XML z linku i po godzinie wysłał zaptyanie do XMLa jeszcze raz. Ale na razie jest że skrypt wysłał zapytanie co 1sek. i nie wiem dla czego. Oto kod:
var lastUpdateTime = 0; // Inicjalizacja czasu ostatniego pobrania danych
function timeDate() {
var currentTime = new Date().getTime(); // Pobranie aktualnego czasu w milisekundach
var timeDiff = currentTime - lastUpdateTime; // Obliczenie różnicy czasu od ostatniego pobrania danych
// Jeśli minęła godzina (3600000 milisekund), lub to pierwsze pobranie danych
if (timeDiff >= 3600000 || lastUpdateTime === 0) {
var xhr = new XMLHttpRequest();
const premiseStatus01B = document.getElementsByClassName("premiseStatus01B")[0];
const premiseStatusImage01B = document.getElementsByClassName("premiseStatusImage01B")[0];
var url = "https://web-production-d9c9.up.railway.app/https://diamondhill.voxdeveloper.com/webservice/realestatestatuslist/api_key//investment_id/2";
xhr.open("GET", url, true);
// Dodanie nagłówków do zapytania
xhr.setRequestHeader("Retry-After", "3600");
xhr.setRequestHeader("X-PINGOTHER", "pingpong");
xhr.setRequestHeader("Accept", "text/html");
// Obsługa odpowiedzi z serwera
xhr.onreadystatechange = function() {
if (xhr.readyState === 4) {
if (xhr.status === 200) {
// Parsowanie odpowiedzi XML
var responseXML = xhr.responseXML;
// Znalezienie wszystkich elementów "realestate"
var realestates = responseXML.getElementsByTagName("realestate");
// Przeszukanie elementów w poszukiwaniu id = 2041
for (var i = 0; i < realestates.length; i++) {
var idElement = realestates[i].getElementsByTagName("id")[0];
var statusNameElement = realestates[i].getElementsByTagName("status_name")[0];
var idValue = idElement.textContent;
var statusNameValue = statusNameElement.textContent;
// Jeśli znaleziono id = 2041, wypisz informacje
if (idValue === "2051" && statusNameValue === "Umowa rezerwacyjna") {
premiseStatusImage01B.src = "budynek-B-ogrodki-reserved-01.png";
premiseStatus01B.innerHTML = "Zarezerwowany";
premiseStatus01B.style.color = "red";
// Tutaj możesz wypisać więcej informacji, jeśli istnieją inne elementy
} else if (idValue === "2051" && statusNameValue === "Dostępne") {
premiseStatusImage01B.src = "budynek-B-ogrodki-available-01.png";
premiseStatus01B.innerHTML = "Dostępne";
premiseStatus01B.style.color = "darkgreen";
}
}
lastUpdateTime = currentTime; // Aktualizacja czasu ostatniego pobrania danych
}
}
};
xhr.send();
}
}
setInterval(timeDate, 1000);
z góry dziękuję.