Bonjour,
J'utilise AJAX depuis peu pour rendre les contenus de mes sites plus dynamiques et avec moins de rechargements de pages, cependant je souhaiterai pouvoir envoyer différents paramètres à handleRequestStateChange() mais il semblerait que ce ne soit pas vraiment une fonction, donc ça ne fonctionne pas, voici "mon" code :Dans maFonctionhttp_1, maFonctionhttp_2 ... maFonctionhttp_n, je souhaiterais pouvoir indiquer l'élément qui affichera http.responseText de la fonction handleRequestStateChange.
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 function createRequestObject() { var http; if (window.XMLHttpRequest) { // Mozilla, Safari, IE7 ... http = new XMLHttpRequest(); } else if (window.ActiveXObject) { // Internet Explorer 6 http = new ActiveXObject("Microsoft.XMLHTTP"); } return http; } function handleRequestStateChange() { var myDiv=document.getElementById('id_div'); if(http.readyState==4) { if(http.status==200) { try { // lecture du message du serveur response=http.responseText; // affichage du message myDiv.innerHTML=response; } catch(e) { alert("Erreur en lisant la réponse: "+e.toString()); } } else { alert("Problème rencontré en recevant les données:\n"+http.statusText); } } } function maFonctionhttp_1() { slink = '/ajax/page_1.php'; http = createRequestObject(); http.open('GET', slink, true); http.onreadystatechange=handleRequestStateChange; http.send(null); } function maFonctionhttp_2() { slink = '/ajax/page_2.php'; http = createRequestObject(); http.open('GET', slink, true); http.onreadystatechange=handleRequestStateChange; http.send(null); }
En indiquant directement dans chque fonction http.onreadystatechange=handleRequestStateChange('id_div'); cela ne fonctionne pas comme indiqué plus haut.
Que me conseillez-vous ?
Merci d'avance
Partager