Hallee!
Welkom bij mijn eerste AJAX probeersel! Ik probeer meerdere divjes te updaten vanuit een .php pagina. Dit werkt goed, totdat de updates elkaar in de weg gaan zitten, dan stop het script met updaten.
Het javascript/ajax gedeelte (ajax_test.php)
...en de inhoud (page.php)
Dit werkt perfect totdat de updates botsen. Als je de 'sleep' uncomment dan kun je precies zien wat ik bedoel.
-tnx-
Harold.
Welkom bij mijn eerste AJAX probeersel! Ik probeer meerdere divjes te updaten vanuit een .php pagina. Dit werkt goed, totdat de updates elkaar in de weg gaan zitten, dan stop het script met updaten.
Het javascript/ajax gedeelte (ajax_test.php)
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>AJAX test page</title>
<style type="text/css">
body { font-family: verdana; font-size: 8pt; }
</style>
<script type="text/javascript">
function createRequestObject() {
var req;
if(window.XMLHttpRequest){
// Firefox, Safari, Opera...
req = new XMLHttpRequest();
} else if(window.ActiveXObject) {
// Internet Explorer 5+
req = new ActiveXObject("Microsoft.XMLHTTP");
} else {
// There is an error creating the object,
// just as an old browser is being used.
alert('There was a problem creating the XMLHttpRequest object');
}
return req;
}
function handleDivTag(divtag) {
var divtag;
return divtag;
}
function handleTimeOut(timeout) {
var timeout;
return timeout;
}
function handleRefresh(refresh) {
var refresh;
return refresh;
}
// Create the Divtag Handler -- Mainly an IE 6 Fix
var divhandler = new handleDivTag(null);
var timehandler = new handleTimeOut(null);
var refreshhandler = new handleRefresh(null);
function sendRequest(act,divtag,timeout,refresh) {
// Make the XMLHttpRequest object
http = createRequestObject();
// Open PHP script for requests
http.open('get', act);
http.onreadystatechange = function() { handleResponse(http); };
// Open PHP script for requests
divhandler.divtag = divtag;
timehandler.timeout = timeout;
refreshhandler.refresh = refresh;
http.send(null);
}
function handleResponse(http) {
if(http.readyState == 4 && http.status == 200) {
// Text returned FROM PHP script
var response = http.responseText;
// document.write(http.responseText);
if(response) {
// UPDATE ajaxTest content
document.getElementById(divhandler.divtag).innerHTML = response;
setTimeout(timehandler.timeout,refreshhandler.refresh);
}
}
}
function div1() {sendRequest('page.php','div1',div1,1000); }
function div2() {sendRequest('page.php','div2',div2,1000); }
</script>
</head>
<body onload=''>
<b>div1</b><br>
<div id="div1"><?php include ("page.php") ?></div>
<br>
<b>div2</b><br>
<div id="div2"><?php include ("page.php") ?></div>
<br>
<a href="javascript:div1();">Start refreshing div1</a>
<a href="javascript:div2();">Start refreshing div2</a>
</body>
</html> |
...en de inhoud (page.php)
code:
1
2
3
4
| <?php
echo "System time: ".date("G:i:s",time());
//sleep (1);
?> |
Dit werkt perfect totdat de updates botsen. Als je de 'sleep' uncomment dan kun je precies zien wat ik bedoel.
-tnx-
Harold.