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

jQuery Discussion :

$.ajax, perte de performance sur ie


Sujet :

jQuery

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2011
    Messages : 64
    Points : 42
    Points
    42
    Par défaut $.ajax, perte de performance sur ie
    Bonsoir à tous,

    j'ai un petit problème de performance sur ie sur l'appel d'un code php en jquery, après une journée de test et de recherche sur ce bon vieux google,
    J'ai décidé de faire appel à vous

    sur firefox, ca prends +- 2à5 sec (c est a dire le temps du traitement 4000 entree)
    sur ie il me fait l'alerte du html au même moment que l'affichage de firefox, puis il se fige pendant au moins 20-30 seconde avant d'afficher la page (dans une div)

    voici le code (je l'ai tester sur une page a part, pour voir si ce n etait pas le site en générale qui fessait laggué).

    Voici l'appel de la page

    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
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>ECHOESYS</title>
     
    <link rel="stylesheet" href="css/style_menu.css" type="text/css">
    <link rel="stylesheet" href="css/architecture.css" type="text/css">
    <link rel="stylesheet" href="css/style_provisoire.css" type="text/css">
    <link rel="stylesheet" href="css/style_provisoire_seb.css" type="text/css">
    <link rel="stylesheet" href="css/style_form.css" type="text/css">
    <link rel="stylesheet" href="css/style_listing.css" type="text/css">
    <link rel="stylesheet" href="css/role/style.css" type="text/css">
    <link rel="stylesheet" href="css/style_dashboard.css" type="text/css">
    <!--[if IE]>
    <link href="css/ie/styleie.css" rel="stylesheet" type="text/css" />
    <![endif]-->
     
    <script type="text/javascript" src="js/jquery/jquery.js"></script>
    <script type="text/javascript" src="js/jquery/jquery-ui-1.8.custom.min.js"></script>
    <script type="text/javascript" src="js/jquery.easing.1.3.js"></script>
     
    </head>
    <script language="javascript" type="text/javascript">
    $(document).ready(function(){
    	createView()	
    })
    function createView(){
    	$('#view_role').html('Loading <img src="./img/loader.gif" width="16" height="16" />');
     
    	var parametres = "methode=construct_view";
    	//AJAX("./requete/roles.php",parametres,createView2);
    	$.ajax({  // ajax
    		type: 'POST',
    		url: "./requete/roles.php",
    		data: parametres,
    		dataType: 'html',
    		cache: false, // pas de mise en cache
    		success: function(html){
    			createView2(html);
    		},
    		error: function(xhr, ajaxOptions, thrownError){
                        alert('erreur serveur : '+xhr.status);
             }
    	});
     
    }
    function createView2(html){
    	alert(html)
    	$('#view_role').empty();
    	$('#view_role').append(html);
    }
    </script>
    <body>
    <div id="view_role"></div>
    </body>
    </html>
    J'ai tester avec append, html et innerhtml
    Les 3 réagissent pareil

    celle du php

    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
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    <?php
    session_start(); 
    //indique que le type de la réponse renvoyée au client sera du Texte
    header("Content-Type: text/plain ; charset=utf-8");
    //anti Cache pour HTTP/1.1
    header("Cache-Control: no-cache , private");
    //anti Cache pour HTTP/1.0
    header("Pragma: no-cache");
     
    require('../classes/Roles.php');
    ?>
    <?php
    $roles = new Roles();
     
    if(isset($_REQUEST["methode"]))
    {
    	if($_REQUEST["methode"] == "construct_view"){
    		$select_listingByPre2 = $roles->select_listingByPre2();
    		$tab_rule = $select_listingByPre2["reponse"];
     
    		$list_catrule = $roles->list_catrule();
    		$count_catrule = $list_catrule["count"];
    		$list_grole = $roles->list_grole();
    		$count_grole = $list_grole["count"];
    		$role = '';
    		$role .= '<div id="_roleGroup">';
    		for($z = 0 ; $z<$count_grole ; $z++){
    			$grole_pre = $list_grole["reponse"][$z]["pre"];
    			$grole_nom = $list_grole["reponse"][$z]["nom"];
    			$role .= '<input type="checkbox" name="'.$grole_pre.'" id="'.$grole_pre.'" checked="checked"/><span class="'.$grole_pre.'_titre">'.$grole_nom.'</span>';
    			if($z%2 == 0 && $z>0) $role .= '<br/>';
    		}
    		$role .= '</div>';
    		$role .= '<br/>';
    		$role .= '<input id="AfficheGroupe" type="button" value="Group enabled"/>';
    		$role .= '<br/><br/>';
     
    		$role .= '<table border="0" cellspacing="0" cellpadding="0" id="table_role">';
    		$role .= '<tr>';
    		$role .= '<td class="nom_rule">&nbsp;</td>';
    		for($ii = 0 ; $ii<$count_grole ; $ii++){
    				$grole_pre = $list_grole["reponse"][$ii]["pre"];
    				$list_role = $roles->list_role($grole_pre);
    				$count_role = $list_role["count"];
    				for($iii = 0 ; $iii<$count_role ; $iii++){
    					$role_pre = $list_role["reponse"][$iii]["pre"];
    					$role .= '<td class="'.$grole_pre.'_title" valign="bottom">';		
    					$role .= '<img src="./img/role/'.$grole_pre.$role_pre.'.png" width="40" height="200" id="table_roleGroup" />';
    					$role .= '</td>';
    				}		
    			}
    		for($i = 0 ; $i<$count_catrule ; $i++){
    			$pair =0;
    			$catrule_nom = $list_catrule["reponse"][$i]["nom"];
    			$catrule_pre = $list_catrule["reponse"][$i]["pre"];
    			$role .= '<tr class="cat" id="'.$catrule_pre.'">';
    			$role .= '<td class="nom_rule role_titre1">'.$catrule_nom.'</td>';
    			for($ii = 0 ; $ii<$count_grole ; $ii++){
    				$grole_pre = $list_grole["reponse"][$ii]["pre"];
    				$list_role = $roles->list_role($grole_pre);
    				$count_role = $list_role["count"];
    				for($iii = 0 ; $iii<$count_role ; $iii++){
    					$role .= '<td class="'.$grole_pre.'">&nbsp;</td>';		
    				}		
    			}
    			$role .= '</tr>';
     
     
     
    			$list_grule = $roles->list_grule($catrule_pre);
    			$count_grule = $list_grule["count"];
     
    			for($j = 0 ; $j<$count_grule ; $j++){
    				$grule_nom = $list_grule["reponse"][$j]["nom"];
    				$grule_pre = $list_grule["reponse"][$j]["pre"];	
     
    				$list_rule = $roles->list_rule($catrule_pre,$grule_pre);
    				$count_rule = $list_rule["count"];
     
    				$role .= '<tr class="group cat_'.$catrule_pre.'">';
    				$role .= '<td class="nom_rule role_titre2">'.$grule_nom.'</td>';
    				for($ii = 0 ; $ii<$count_grole ; $ii++){
    					$grole_pre = $list_grole["reponse"][$ii]["pre"];
    					$list_role = $roles->list_role($grole_pre);
    					$count_role = $list_role["count"];
    					for($iii = 0 ; $iii<$count_role ; $iii++){
    						$role .= '<td class="'.$grole_pre.'">&nbsp;</td>';		
    					}		
    				}
    				$role .= '</tr>';
     
    				for($k = 0 ; $k<$count_rule ; $k++){
    					$rule_nom = $list_rule["reponse"][$k]["nom"];
    					$rule_pre = $list_rule["reponse"][$k]["pre"];
     
    					if($pair%2 == 0){
    						$role .= '<tr class="pair cat_'.$catrule_pre.'">';
    					}else{
    						$role .= '<tr class="impair cat_'.$catrule_pre.'">';
    					}
     
    					$role .= '<td class="nom_rule role_titre3">'.$rule_nom.'</td>';
    					for($l = 0 ; $l<$count_grole ; $l++){
    						$grole_pre = $list_grole["reponse"][$l]["pre"];
     
    						$list_role = $roles->list_role($grole_pre);
    						$count_role = $list_role["count"];
     
    						for($m = 0 ; $m<$count_role ; $m++){
    							$role_pre = $list_role["reponse"][$m]["pre"];
     
     
    							$rule = $catrule_pre.'-'.$grule_pre.'-'.$rule_pre.'-'.$grole_pre.'-'.$role_pre;
     
    							$listing_nom = $rule;
    							$listing_val = $tab_rule[$rule];
     
    							if($listing_val == 1){
    								$val = ' checked="checked"';
    							}else{
    								$val = '';
    							}
     
    							$role .= '<td  align="center" class="'.$grole_pre.'">';
    							$role .= '<input type="checkbox" name="'.$listing_nom.'" id="'.$listing_nom.'"'.$val.'/>';
    							$role .= '</td>';
    						}	
    					}
    					$role .= '</tr>';
    					$pair ++;	
    				}	
    			}
    		}
    		$role .= '</table>';
    		echo $role;
    	}		
    }
    ?>
    Quelqu'un serait-il me dire le pourquoi du comment?
    Merci d'avance

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2011
    Messages : 64
    Points : 42
    Points
    42
    Par défaut
    pour info, c est js 1.4.2 j'en ai besoin pour un script pas mis a jour sur l application.
    Mais j ai tester avec la derniere version, ca ne change rien :/

Discussions similaires

  1. Réponses: 2
    Dernier message: 29/08/2005, 16h12
  2. Réponses: 6
    Dernier message: 21/06/2005, 15h13
  3. [index] performance sur une recherche descendante
    Par jean-jacques varvenne dans le forum Oracle
    Réponses: 16
    Dernier message: 15/01/2005, 10h22
  4. [CR8.5] Perte d'enregistrement sur passage recto/verso
    Par jldlci dans le forum SAP Crystal Reports
    Réponses: 6
    Dernier message: 20/12/2004, 10h14
  5. [Crystal] Performance sur grosses base de données
    Par Nico118 dans le forum SAP Crystal Reports
    Réponses: 5
    Dernier message: 14/11/2003, 15h27

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