Autor | Zpráva | ||
---|---|---|---|
hruda Profil * |
Ahoj, napsal sjem si takovej jendoduchej chat, alke chtěl bych aby se automaticky reloadnul po 1 minutě. Napsal jsem toto, ale hází mi to tam po reloadu chybu: There was a problem with the request..
Kde je chyba? <script type="text/javascript" language="javascript"> var http_request = false; function makeRequest(url, parameters) { http_request = false; if (window.XMLHttpRequest) { // Mozilla, Safari,... http_request = new XMLHttpRequest(); if (http_request.overrideMimeType) { // set type accordingly to anticipated content type //http_request.overrideMimeType('text/xml'); http_request.overrideMimeType('text/html'); } } 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('Cannot create XMLHTTP instance'); return false; } http_request.onreadystatechange = alertContents; http_request.open('GET', url + parameters, true); http_request.send(null); } function alertContents() { if (http_request.readyState < 4){ waitingPageBody = '<img src="img/loading.gif" alt="Načítám..." />'; document.getElementById('myspan').innerHTML = waitingPageBody; } else if (http_request.readyState == 4) { if (http_request.status == 200) { //alert(http_request.responseText); result = http_request.responseText; document.getElementById('myspan').innerHTML = result; } else { alert('There was a problem with the request.'); } } } window.setInterval('makeRequest()', 60 * 1000); //tady se nastaví interval ve kterém se bude reloadovat stránka... 1000 = 1 sekunda makeRequest('chat_rpc.php', getstr); </script> <input type="button" name="button" value="GET test.html" onclick="javascript:makeRequest('test.html', '');" /> <br /><br /> <input type="button" name="button" value="GET get.php?test=2" onclick="javascript:makeRequest('chat_rpc.php', '?test=2');" /> <br /><br /> <h1>Chat</h1> <form action="javascript:get(document.getElementById('myform'));" id="myform"> Přezdívka: <input type="text" name="prezdivka" value="teststring" /><br /> Text: <textarea name="chat_text" cols="10" rows="10"></textarea><br /> <input type="button" name="button" value="Submit" onclick="javascript:get(this.parentNode);" /> <input type="submit" name="button" value="Normal Submit Button" /> </form> <br /><br /> <b>Server-Response:</b><br /> <span id="myspan"> <?php require "./chat_rpc.php"; //připojení k databázi ?> </span> Moderátor Chamurappi: Titulek „Reload Ajax“ nevystihuje podstatu dotazu. Příště zkus prosím vymyslet lepší.
|
||
Chamurappi Profil |
#2 · Zasláno: 30. 11. 2009, 18:10:35
Reaguji na hrudu:
PHP zdroják je docela k ničemu, prosím o odkaz na živou ukázku. „hází mi to tam po reloadu chybu: There was a problem with the request..“ Tuhle chybu si vyhazuješ sám na řádku 41. Přidej si do alertu http_request.status a uvidíš, jaký stavový kód dostáváš. Případně si vypiš http_request.responseText a uvidíš, jaká odpověď ti přišla od serveru. |
||
hruda Profil * |
#3 · Zasláno: 30. 11. 2009, 18:20:30
|
||
denCo Profil |
#4 · Zasláno: 1. 12. 2009, 08:44:32
hruda:
stránka neexistuje... ... else if (http_request.readyState == 4 && http_request.status == 200) { //alert(http_request.responseText); result = http_request.responseText; document.getElementById('myspan').innerHTML = result; } else { alert('There was a problem with the request.'); } ... to znamená, že máš problém s tým, že ti to nenačíta, nie s tým,že sa to má reloadovať. Skús si tú hlášku vymazať, a hlavne daj ukážku, ktorá funguje |
||
Chamurappi Profil |
#5 · Zasláno: 1. 12. 2009, 08:58:33
Reaguji na denCa:
„Skús si tú hlášku vymazať“ Pak už nezjistí vůbec nic. „máš problém s tým, že ti to nenačíta, nie s tým,že sa to má reloadovať“ Myslím, že první načtení mu funguje a že teprve při ostatních dostává chybu 404, protože na serveru nemá soubor na adrese „NaN“, ze které se snaží stahovat. |
||
denCo Profil |
#6 · Zasláno: 1. 12. 2009, 16:37:49
Chamurappi:
môže byť, zišlo by sa aby pridal fungujúcu ukážku |
||
Aichi Profil |
#7 · Zasláno: 2. 12. 2009, 17:30:27
denCo:
kdyby jí měl fungující, tak by nepotřeboval poradit :) |
||
Chamurappi Profil |
#8 · Zasláno: 2. 12. 2009, 17:57:34
Reaguji na Aichiho:
Kolega denCo měl na mysli fungující ukázku nefunkčnosti :-) |
||
denCo Profil |
#9 · Zasláno: 2. 12. 2009, 18:13:15
Chamurappi:
hej, presne to, ale žiadny z týchto príspevkou mu asi veľmi nepomohol :D |
||
_es Profil |
#10 · Zasláno: 2. 12. 2009, 18:27:13
hruda:
Do atribútu onclick sa nepíše protokol javascript:, takže správne má byť: onclick="makeRequest('test.html', '');" Na iných miestach voláš funkciu get, ktorú však nemáš nikde definovanú. |
||
Časová prodleva: 14 let
|
0