XmlHTTP - ie og Firefox giver ikke samme resultat.
Jeg har siddet og rodet lidt med noget AJAX, og har lavet mig et lille eksempel der kan opdatere en dato, uden at opdatere selve siden.Mit problem er at det virker i firefox men ikke i internet explorer.
siden er http://www.peterwind.dk/client2.php
koden kan ses herunder:
client2.php:
<HTML PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN">
<html>
<head>
<title>Example 1</title>
<script src="http://www.peterwind.dk/script.js" type="text/javascript"></script>
<script type="text/javascript">
function updatedate() {
loadFragmentInToElement('http://www.peterwind.dk/server2.php', 'currentdate');
}
</script>
</head>
<body>
The current date is <span id="currentdate"><?php echo date("l dS of F Y h:i:s A"); ?></span>.
<br> <input type="button" value="Update date" OnClick="updatedate();" />
</body>
</html>
script.js:
var xmlhttp=false;
/*@cc_on @*/
/*@if (@_jscript_version >= 5)
// JScript gives us Conditional compilation, we can cope with old IE versions.
// and security blocked creation of the objects.
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (E) {
xmlhttp = false;
}
}
@end @*/
if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
xmlhttp = new XMLHttpRequest();
}
function loadFragmentInToElement(fragment_url, element_id) {
var element = document.getElementById(element_id);
element.innerHTML = '<em>Loading ...</em>';
xmlhttp.open("GET", fragment_url);
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
element.innerHTML = xmlhttp.responseText;
}
}
xmlhttp.send(null);
}
server2.php:
<?php
echo date("l dS of F Y h:i:s A");
?>
Når jeg trykker på update i internet explorer vælger den bare at skrive et forkert tidspunkt, og hvis jeg trykker yderligere på update knappen sker der ikke noget.
I firefox ændrer tidspunktet sig til det rigtige hver gang jeg trykker på update.