Bonjour,
Lorsque dans une page, par javascript, je fais 4 appels ajax simultanés vers des pages spip, avec mozilla, SPIP répond "site en travaux", ce qui veut en fait dire que le lien SQL est mort.
Cela dure 20 secondes et après cela remarche. Il n'y a aucun problème si un seul appel ajax à la fois, et tout fonctionne très bien sous IE...
Une idée d'explication ?
Voir exemple : http://www.ethnoclic.net/spip.php?pa...id_rubrique=88
Le script AJAX :
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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72 function getXMLHTTP(){ var xhreq=null; if(window.XMLHttpRequest){ // Firefox et autres xhreq = new XMLHttpRequest(); } else if(window.ActiveXObject){ // Internet Explorer try { xhreq = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { xhreq = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e1) { xhreq = null; } } } else { // XMLHttpRequest non supporté par le navigateur alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); } return xhreq; } function charge_ajax(element,url_contenu) { if (document.getElementById(element) != null ) { var xhr = getXMLHTTP() ; xhr.onreadystatechange = function() { if(xhr.readyState == 4) { if(xhr.status == 200) document.getElementById(element).innerHTML = xhr.responseText; else document.getElementById(element).innerHTML = "Error code " + xhr.status; } else document.getElementById(element).innerHTML = "<center><img src='/images/circle_animation.gif' align=center><br><i>Chargement...</i></center>" ; }; xhr.open("GET", url_contenu, true); xhr.send(null); } else if (window.parent.document.getElementById(element) != null ) { var xhr = getXMLHTTP() ; xhr.onreadystatechange = function() { if(xhr.readyState == 4) { if(xhr.status == 200) window.parent.document.getElementById(element).innerHTML = xhr.responseText; else window.parent.document.getElementById(element).innerHTML = "Error code " + xhr.status; } else window.parent.document.getElementById(element).innerHTML = "<center><img src='/images/circle_animation.gif'><br><i>Chargement en cours...</i><br></center>" ; }; xhr.open("GET", url_contenu, true); xhr.send(null); } else alert("zone inconnue !") ; }
Partager