Bonsoir,
J'ai un petit probl�me avec des requetes synchrone. Je met a jour successivement le contenu de different <div> par l'intermediaire de requete synchrone. Sur Opera et IE7 ca marche sans soucis tandis que FireFox ne marche pas. Je vous montre le code pour y voir plus clair. Je cr�er un objet JS qui va me permettre de dialoguer avec le server et je demande juste au server de me print le contenu que je lui demande.
Code JavaScript
Code PHP
Code : S�lectionner tout - Visualiser dans une fen�tre � part
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 var AjaxEngine = { Request : getXHR(), Host : "include/sEngine.php", Method : "POST", Async : false } AjaxEngine.Send = function(Container, Content) { AjaxEngine.Request.onreadystatechange = function() { if(AjaxEngine.Request.readyState == 4 && AjaxEngine.Request.status == 200) { GetElementById(Container).innerHTML = AjaxEngine.Request.responseText; AjaxEngine.Request.abort(); } } AjaxEngine.Request.open(AjaxEngine.Method, AjaxEngine.Host, AjaxEngine.Async); AjaxEngine.Request.setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=iso-8859-1;"); AjaxEngine.Request.send("content=" + Content); } function getXHR() { if(window.XMLHttpRequest && !(window.ActiveXObject)) { try { return new XMLHttpRequest(); } catch(e) { return false; } } else if(window.ActiveXObject) { try { return new ActiveXObject("Msxml2.XMLHTTP"); } catch(e) { try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) { return false; } } } else { alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); return false; } }
Appel pour Update les <div> (dans le body)
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10 <?php header('Content-Type: text/html; charset=iso-8859-1'); $contentDir = $_POST['content']; include("actions/".$contentDir.".php"); ?>
Sous Firefox je ne rentre jamais dans le onreadystatechange.
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 <div id="menu"> <script type="text/javascript"> AjaxEngine.Send('menu','menu/menuGames'); </script> </div> <div id="content"> <script type="text/javascript"> AjaxEngine.Send('content','content/accueil'); </script> </div>
Merci de votre aide.
Partager