Trädvy Permalänk
Medlem
Plats
Nybro
Registrerad
Maj 2009

Ajax.Updater

Hej.
Jag undrar om någon har erfarenhet av Ajax.Updater?
Jag vill att den ska uppdatera en div som ser ut enligt följande:

<div id='nowplaying' name='nowplaying'>
include ("nowplaying.php");
</div>

Ungefär var 3:e sekund.
Tacksam för svar, har sökt igenom hela världen utan resultat som JAG förstår.

Trädvy Permalänk
Medlem
Plats
Stockholm
Registrerad
Sep 2007

ajax.js

if (window.XMLHttpRequest) { var req = new XMLHttpRequest() } else if (window.ActiveXObject){ var req = new ActiveXObject("Microsoft.XMLHTTP"); } var which; function retrieveURL(url, element) { req.abort(); which = document.getElementById(element); req.onreadystatechange = processStateChange; try { req.open("GET", url, true); } catch (e) { alert(e); } req.send(null); } function retrievePostURL(url, element, POSTstring) { req.abort(); if (element!='') { // innerHTML only if which is given, function enables to send POST without using return info which = document.getElementById(element); } else { which = ''; } req.onreadystatechange = processStateChange; try { req.open("POST", url, true); } catch (e) { alert(e); } req.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); req.send(POSTstring); } function processStateChange() { //alert('(processStateChange) readyState: ' + req.readyState + ' and status: ' + req.status); // dev if (req.readyState == 4) { // Complete if (req.status == 200) { // OK response if (which!='') { // innerHTML only if which is given, enables to send GET/POST without using return info which.innerHTML = req.responseText; } } else { alert("Problem: " + req.status + ' ' + req.statusText); } } } function doStuff() { var rand_no = Math.random(); retrieveURL('nowplaying.php','nowplaying'); setTimeout('doStuff()',3000); }

exempel:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" /> <meta name="author" content="unknown" /> <title>test</title> <script src="ajax.js" type="text/javascript"></script> </head> <body onLoad="doStuff()"> <div id='nowplaying' name='nowplaying'> include ("nowplaying.php"); </div> </body> </html>

[ASUS P9X79] [Corsair RM850i] [Corsair 32GB DDR3 1600mhz] [i7 3930K] [Noctua NH-D14] [Gainward GTX 1080 "GLH" Golden Sample 8GB GDDR5X][Sandisk 256GB][Fractal Design Define S]

Trädvy Permalänk
Medlem
Plats
Nybro
Registrerad
Maj 2009

Tack för snabbt svar.
Den uppdaterar helt klart, men resultatet blir inte det jag vill. Jag får en drös av felmeddelanden.

Warning: mysql_query() [function.mysql-query]: Access denied for user 'jensw.se'@'srv100.one.com' (using password: NO) in /customers/jensw.se/jensw.se/httpd.www/shout4/nowplaying.php on line 4

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /customers/jensw.se/jensw.se/httpd.www/shout4/nowplaying.php on line 4

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /customers/jensw.se/jensw.se/httpd.www/shout4/nowplaying.php on line 5

Trädvy Permalänk
Medlem
Plats
Göteborg
Registrerad
Jan 2007

Antar att det är Ajax.Updater från prototype.js... i så fall:

new Ajax.PeriodicalUpdater('nowplaying', 'nowplaying.php', {frequency: 3});

Trädvy Permalänk
Medlem
Plats
Nybro
Registrerad
Maj 2009

Nu fungerar det delvis. diven som ska uppdateras ligger i index.php, och om jag ändrade i ajax.js till retrieveURL('index.php','nowplaying'); så uppdaterar den diven riktigt.
Kruxet, jag får två stycken sidor i en. DVS allting visas dubbelt..

Trädvy Permalänk
Medlem
Plats
Stockholm
Registrerad
Sep 2007

Du får nog tänka om lite. Du har en div i index.php som du vill ladda in index.php i. Och du blir förvånad av att den laddas dubbelt?

[ASUS P9X79] [Corsair RM850i] [Corsair 32GB DDR3 1600mhz] [i7 3930K] [Noctua NH-D14] [Gainward GTX 1080 "GLH" Golden Sample 8GB GDDR5X][Sandisk 256GB][Fractal Design Define S]

Trädvy Permalänk
Medlem
Plats
Skogås, Stockholm
Registrerad
Maj 2003

Anledningen till dina felmeddelanden är att nowplaying.php inte includerar någon mysql_connect eller liknande.

Besök JimNelin.com eller Jim Nelin på LinkedIn