Autor Zpráva
lukaspce
Profil
Dělám si malej chat a chci ho udelat v ajaxu. AJAX sice načte informace ale jen jednou, měl by je načítat po dvouc sekundách nevíte jak na to? Zkoušel jsem to pomocí setInterval ale načte se to jen jednou..
kód:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Chat - piskvorky</title>
<link rel="stylesheet" href="styl.css" type="text/css">
</head>
<body>
<script type="text/javascript">
function vyberClanek()
{
var url = "chat-vypis.php?id=<?=$id?>";

if (url != 0)
{
if (window.ActiveXObject)
{
httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
}
else
{
httpRequest = new XMLHttpRequest();
}
httpRequest.open("GET", url, true);
httpRequest.onreadystatechange= function () {processRequest(); } ;
httpRequest.send(null);
}
else
{

document.getElementById("mistoZobrazeni").innerHTML = "";

}
}
function processRequest()
{
if (httpRequest.readyState == 4)
{
if(httpRequest.status == 200)
{
var mistoZobrazeni = document.getElementById("mistoZobrazeni");
mistoZobrazeni.innerHTML = httpRequest.responseText;
}
else
{
alert("Chyba pri nacitani stanky"+ httpRequest.status +":"+ httpRequest.statusText);
}
}
}
setInterval(vyberClanek(), 2000);
</script>
<div class="chat-divaci"><p id="mistoZobrazeni">
</p></div><br>
</body>
</html>
ah01
Profil
Odpovím ti otázkou. Jak myslíš, že by se chovalo, kdyby místo
httpRequest.onreadystatechange= function () {processRequest(); } ; 

jsi tam měl
httpRequest.onreadystatechange= processRequest();

? Zamysli se nad tím. Je to stejná situace.
Leo
Profil
"Je to stejná situace."

Neni. Leo
lukaspce
Profil
Nejak vas nechapu...Tak co s tim teda??Akorát vím že když to umažu tak to nefaka vubec...
peta
Profil
lukaspce
http://peter-mlich.wz.cz/x/ajax.js
Co se tyce opakovani:
1. jakpsatweb - javascript - priklady - datum a cas (jednoducha animace)
2. hlavicka nacitaneho souboru - META cache/no cache ...
3. function vyberClanek() {alert(1); ...obsah...}
detekce, ze se ta funkce spusti, al pak z nejakeho duvodu dal nic nenastane
4. co vypisuje JS konzola za chybu?

ah01
httpRequest.onreadystatechange = function () {processRequest(); } ;
httpRequest.onreadystatechange = processRequest(); ... to je uplne neco jineho, viz leo
httpRequest.onreadystatechange = processRequest; ... jo, dalo by se uvazovat o tomto
Toto téma je uzamčeno. Odpověď nelze zaslat.