IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AJAX Discussion :

[AJAX] délai d'affichage


Sujet :

AJAX

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    511
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 511
    Par défaut [AJAX] délai d'affichage
    Bonjour

    J'ai un planning (tableau calendaire html) traçant des évènements sur lequel des fct sont inégrées via le dom.
    Pour sa mise à jour j'appelle une jsp (8Ko) via AJAX que j'affiche dans un div.
    Mon Pb est que sous ie l'affichage est intantané mais sous FF il faut être patient.

    Une petite idée ?

    Nota: sous FF j'ai l'eereur suivante que remonte en console au démarrage
    Permission refusée d'appeler la methode XMLHttpRequest.open

    pour l'erreur apparemment cela vient de l'url utilisée (longue) au lieu de relative.

    Merci

    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
     
    <script type="text/javascript">
    var urlAjax = <%=urlAjax%>;
     
    //application fct du dom_event
    function loadFct(){defineEventInContainer('planning_Nvx','td');}
    try{window.onload=function(){loadFct();}}catch(e){window.attachEvent("onload", loadFct());}
     
    //Appel au serveur XMLHttpRequest -> responseHTML
    function createXHR() 
    {
        var request = false;
    //appel ie
    	try {request = new ActiveXObject('Msxml2.XMLHTTP');
            }catch (err2) {
                try {request = new ActiveXObject('Microsoft.XMLHTTP');
                	}catch (err3) {
    //appel autres navigateurs            	
            			try {request = new XMLHttpRequest();
            				}catch (err1){request = false;}}}
        return request;
    }
     
    //appel AJAX
    function planningReserv(url){
    var xhr = createXHR();
         xhr.onreadystatechange = function()
        	{//alert(xhr.responseText);
              try{transfert(xhr.responseText);}catch(e){}}
     
    	//fin de la fonction()
        xhr.open("POST", url , true);
        xhr.send(null);
    }
     
    function transfert(txt){
    	document.getElementById('dialogReservations').innerHTML = txt;
    	document.getElementById('dialogReservationsModif').innerHTML = txt;
    	//document.getElementById('conteneurImg').style.display='none';
    }
     
    function masquer(){
    	document.getElementById('dialogReservations').style.visibility = 'hidden';
    	document.getElementById('dialogReservationsModif').style.visibility = 'hidden';
    	document.getElementById('defcouleur').style.visibility = 'hidden';
    	document.getElementById('liste').style.visibility = 'visible';
    }
     
    function retourReserv(chp,cleRetour){
    	url = '';
    	val = chp.split(',');
    	for(i=0;i<val.length;i++)
     		{url += '&'+val[i]+'='+document.getElementById(val[i]).value;}
    	url = urlAjax+url+document.getElementById(cleRetour).value;
    	planningReserv(url);
    	masquer();
    }
     
    </script>

  2. #2
    Membre Expert
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Par défaut
    Salut,

    Au delà du fait sur le onreadystatechange tu ne testes pas le readyState , ta requête AJAX se fait elle sur le même domaine que celui de ta JSP ?

    ERE

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    511
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 511
    Par défaut
    Oui sur le même domaine.
    Le fait d'utiliser l'url relative a divisé par 2 le temps de réponse mais qui est toujours très supérieur à celui d'ie.

  4. #4
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Comme le faisait remarquer ERE, je ne suis pas certain que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    try{transfert(xhr.responseText);}catch(e){}}
    soit vraiment adéquat.
    Tu devrais tester avec une méthode plus appropriée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if(xhr.readyState==4 && xhr.status==200){
        transfert(xhr.responseText);
    }
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    511
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 511
    Par défaut
    Testé à cet instant même pb 2 à 3 secondes d'attente.
    Nota: Le test de mise au point est fait en localhost.

  6. #6
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Essaye peut-être en désactivant Firebug, qui est susceptible de ralentir significativement les scripts.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

Discussions similaires

  1. Délai d'affichage d'un USF
    Par etorria dans le forum VBA PowerPoint
    Réponses: 3
    Dernier message: 13/04/2008, 08h00
  2. [AJAX] Lecture et affichage du contenu d'un fichier xml dans un menu deroulant
    Par undercrash dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 15/01/2008, 16h26
  3. [AJAX]probème d'affichage de traitement
    Par jeandormesson dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 30/08/2006, 16h28
  4. [TILES][Ajax] menu tiles + affichage Ajax
    Par Azanael dans le forum Struts 1
    Réponses: 3
    Dernier message: 23/05/2006, 16h27
  5. [tooltip] délai d'affichage
    Par tmcgrady dans le forum Composants
    Réponses: 1
    Dernier message: 06/07/2005, 17h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo