ajax: responsetext zwraca mój cały kod php lokalnie
Znalazłem dobry samouczek:seminarium
ale to nie działa lokalnie. Problem polega na tym, że responsetext zwraca cały mój kod php. Dwukrotnie klikam na mój ajaxclock.html i używam Firefoksa. Co zaskakujące, działa na serwerze.
Oto kod: ajaxclock.html
<code><!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> <title>AJAX Tutorial</title> </head> <body> <div id="time"></div> <button onclick="getTime();">Aktualisieren</button> <script type="text/javascript" src="script.js"></script> </body> </html> </code>
script.js
<code>var req = getXmlHttpRequestObject(); window.onload = getTime(); function getXmlHttpRequestObject() { if(window.XMLHttpRequest) { return new XMLHttpRequest(); } else if(window.ActiveXObject) { return new ActiveXObject("Microsoft.XMLHTTP"); } else { alert('Ajax funktioniert bei Ihnen nicht!'); } } function getTime() { if(req.readyState == 4 || req.readyState == 0) { req.open('GET', 'ajaxclock.php', true); req.setRequestHeader("Content-Type","text/plain"); req.onreadystatechange = setMessage; req.send(null); } } function setMessage() { if(req.readyState == 4) { var response = eval('(' + req.responseText+ ')'); document.getElementById('time').innerHTML = response.time; } } </code>
ajaxclock.php
<code><?php echo '{"time": "'.date("H:i:s").'"}'; ?> </code>