Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Galera,
Estou começando a mexer agora com Ajax, mas já tenho um bom conhecimento em (X)HTML, CSS, JS e algumas linguagens WEB.
Estou tentando fazer o seguinte:
Tenho uma página (ASP, PHP, JSP...) em que ela me retornará a data ou a hora do Server, e, via Ajax, irei trazer este conteúdo para minha página HTML.
Estou conseguindo trazer esta informação, porém gostaria que ela se atualiza-se minuto a minuto.
Tentei usar o setTimeout, porém não está funcionando, não sei se fiz algo de errado, mas a data/hora não atualiza na minha página HTML, somente se eu abrir a página dinâmica que me retorna esta informação, e atualizo ela, é que ela reflete no HTML.
Segue abaixo o código JS/Ajax:
var http_request = false;var ie4 = document.all;var ns4 = document.layers;var ns6 = document.getElementById && !document.all;var old = "";function makeRequest(){ http_request = false; if (window.XMLHttpRequest) { // Mozilla, Safari,... http_request = new XMLHttpRequest(); if (http_request.overrideMimeType) { http_request.overrideMimeType('text/xml'); } } else if (window.ActiveXObject) { // IE try { http_request = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { http_request = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {} } } if (!http_request) { alert('Giving up :( Cannot create an XMLHTTP instance'); return false; } http_request.onreadystatechange = NewDate; http_request.open('GET', 'data.jsp', true); http_request.send(null);}function NewDate(){ if (http_request.readyState == 4) { if (http_request.status == 200) { //Usando um arquivo XML /* var xmldoc = http_request.responseXML; var root_node = xmldoc.getElementsByTagName('root').item(0); alert(root_node.firstChild.data); */ //Usando um arquivo TXT data_server = http_request.responseText; if (old == "die"){ return; } if (old == "true") { document.write(data_server); old = "die"; return; } if (!ie4 && !ns6 && !ns4){ old = "true"; NewDate(); } if (ns4) { document.ClockPosNS.visibility="show"; clockpos = document.datans; liveclock = clockpos.document.data_atual; liveclock.document.write(data_server); liveclock.document.close(); } else if (ie4 || ns6){ document.getElementById("data_atual").innerHTML = data_server; } } else { document.write('Ocorreu um erro!'); } } setTimeout("makeRequest()",60000);}Carregando comentários...