Bonjour à tous,

Alors voilà j'ai fait un petit script en Ajax me permettant d'afficher les dernières quotes présentes dans une base de données.
Cela fonctionne mais n'étant pas très calé en la matière, je me permet de vous le soumettre pour que vous puissiez me dire si je me complique la vie ou pas, si c'est la bonne méthode à adopter et enfin si celle-ci n'est pas trop lourde.

Autre chose, j'aimerais si possible afficher chargement... pendant la breve attente de l'affichage...


Voici mon code :

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
 
 
// Customise those settings
 
var seconds = 5;
var divid = "quotes";
var url = "http://www.holding-paragon.com/wecitizens/quotes.php";
 
////////////////////////////////
//
// Refreshing the DIV
//
////////////////////////////////
 
function showQuotes(){
 
// The XMLHttpRequest object
 
var xmlHttp;
try{
xmlHttp=new XMLHttpRequest(); // Firefox, Opera 8.0+, Safari
}
catch (e){
try{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); // Internet Explorer
}
catch (e){
try{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e){
alert("Your browser does not support AJAX.");
return false;
}
}
}
 
// Timestamp for preventing IE caching the GET request
 
fetch_unix_timestamp = function()
{
return parseInt(new Date().getTime().toString().substring(0, 10))
}
 
var timestamp = fetch_unix_timestamp();
var nocacheurl = url+"?t="+timestamp;
 
// The code...
 
xmlHttp.onreadystatechange=function(){
if(xmlHttp.readyState==4){
var lastQuotes = document.getElementById(divid);
lastQuotes.innerHTML = xmlHttp.responseText;
setTimeout("showQuotes()",5000);
}
}
xmlHttp.open("GET",nocacheurl,true);
xmlHttp.send(null);
}
 
// Start the refreshing process
 
var currentQuote = setTimeout(showQuotes,5000);
Vous pouvez voir ce que ca donne pour le moment sur ce site en haut a droite, pour moi le delai d'affichage est trop long :/

Lien

Un tout grand merci !