Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript > Bibliothèques & Frameworks > jQuery
jQuery Forum d'entraide sur le framework jQuery. Avant de poster : Tutoriels jQuery, FAQ jQuery, Tous les tutoriels JavaScript, Toutes les FAQ JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 08/12/2011, 22h38   #1
Candidat au titre de Membre du Club
 
Inscription : janvier 2011
Messages : 56
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 56
Points : 13
Points : 13
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 :
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 :
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
healou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/12/2011, 00h17   #2
Candidat au titre de Membre du Club
 
Inscription : janvier 2011
Messages : 56
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 56
Points : 13
Points : 13
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 :/
healou est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h10.


 
 
 
 
Partenaires

Hébergement Web