Bonjour,
Voilà, j'ai essayé de faire un petit bout de code pour rafraichir une page contenant des messages recu par un utilisateur, le but final étant de rafraichir la page uniquement si de nouveaux messages sont arrivés. Voilà mon code Javascript :
et le code de ma page aspx :
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 var req ; var sURL = unescape(window.location.pathname); var url="TestNewMessage.aspx" ; function refresh() { window.location.href = sURL ; } function doLoad() { setTimeout("refresh()",1000) ; } function doReloadJS() { setTimeout("loadXmlDoc(url)" , 6000) ; } function processReqChange() { if (req.readyState==4) { if(req.status==200) { if(req.responseText=='True') { doLoad() ; } else { doReloadJS() ; } } } } function loadXmlDoc(url) { if (window.XMLHttpRequest) { req = new XMLHttpRequest() ; req.onreadystatechange = processReqChange(); req.open("GET",url,true); req.send(null); } else if(window.ActiveXObject) { req = new ActiveXObject("Microsoft.XMLHTTP"); if(req) { req.onreadystatechange = processReqChange(); req.open("GET",url,true); req.send(null); } } else { alert("fjwdoi") ; } } loadXmlDoc(url);
Pour l'instant, je n'ai pas encore implémenté la partie métier ( qui consistera a vérifier l'arrivée de nouveau message ), mais déjà la ca ne marche pas, j'ai toujours 0 comme readyState dans la fonction processReqChange....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 public class TestNewMessage : System.Web.UI.Page { private void Page_Load(object sender, System.EventArgs e) { HttpResponse Response = System.Web.HttpContext.Current.Response ; Response.Write ( true ) ; } }
Merci d'avance pour vos réponses.
Partager