J'essaie de faire un compte à rebours similaire à celui de rapidshare en utilisant ajax et django côté serveur.Compte à rebours sécurisé avec ajax et django
Mon appel ajax est le suivant:
function loadXMLDoc(url,cfunc){
if (window.XMLHttpRequest){
xmlhttp=new XMLHttpRequest();
}else{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=cfunc;
xmlhttp.open("GET",url,true);
xmlhttp.send();
}
function getFile(){
countdown(15);//just shows the counter
loadXMLDoc("getfiles",function(){
if (xmlhttp.readyState==4 && xmlhttp.status==200){
document.getElementById("dlzone").innerHTML=xmlhttp.responseText;
}
});
}
et sur le côté serveur que j'ai une fonction de test:
def getfile(request):
sleep(15)
return HttpResponse("file")
Tout fonctionne comme prévu, sauf qu'il me laisse se demander s'il y a une meilleure approche que le serveur dort pendant 15 secondes. Si je faisais tout l'attente en utilisant javascript, il serait très facile de manipuler les variables et de contourner le compte à rebours. Mais encore, avoir le serveur en attente ne se sent pas comme la meilleure solution. Aucun conseil?
qui ressemble certainement à une meilleure approche . Donc, si je comprends bien, je devrais avoir une fonction pour définir la date d'échéance et une autre pour vérifier si elle est due. Merci – kirbuchi
Ils peuvent être dans la même fonction. Si ID inconnu, alors faites un nouveau délai et retournez combien de temps à gauche. Si vous connaissez l'identifiant, renvoyez le temps restant, sinon, renvoyez le lien de téléchargement. Vous voulez juste éviter de maintenir la connexion ... – Cine
kk, merci beaucoup pour votre aide – kirbuchi