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 10/01/2011, 14h51   #1
rib
Membre à l'essai
 
Inscription : janvier 2005
Messages : 70
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 70
Points : 23
Points : 23
Par défaut success ajax ne fonctionne pas

bonjours,
je suis apres une fonction de chargement avec ajax et json.
mon code appelle bien la template php avec les variables, cette template genere bien le html par contre il ne s'affiche pas dans la fonction succes.
voici mon code:

index avec la fonction load:

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
<?php 
define ('ASSASSIN_ROOT', './');
$assassin_root = ASSASSIN_ROOT;
?>
 
<script type="text/javascript" src="<?php echo $assassin_root; ?>js/jquery-1.4.4.min.js"></script>
<script type="text/javascript" src="<?php echo $assassin_root; ?>js/jquery.json.js"></script>
 
<script>
function Load(query){
 
var json = $.JSON.encode(query);
var decode_json = $.JSON.decode(json);
$.ajax({
				type: 'GET',
				url:'Load_2.php',
				data:{json: json},
				success: function(html) {
	       		 $('#'+decode_json.id_div).html(html);
				},
				async: false
			});
}
</script>
 
<div id="test">
</div>
 
<script>
var query = {id_div:'test',template:'test2.php',test:'ceci est un test'};
Load(query);
</script>
voici le Load_2.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
<?php
function wrap_tpl ($data , $template) {
 
    extract($data);
    ob_start();
    include $template;
    $layout_content = ob_get_contents();
    ob_end_clean();
 
    return $layout_content;
}
 
 
if ( $_SERVER['REQUEST_METHOD'] == 'GET' ) {
 
$data=array();
 
if($_GET['json']){
$json = $_GET['json'];
$data = json_decode($json, true);
 
echo wrap_tpl ($data , $data['template']);
 
}
}
?>
et la template test2.php:

Code :
<?php echo $id_div."</br>".$template."</br>".$test;?>
j'ai bien ce retour dans firebug en reponse:
test</br>test2.php</br>ceci est un test

mais ma page reste blanche, le retour n'est pas injecter dans le div test.

si qqun peut m'aider merci d'avance.
rib est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/01/2011, 15h17   #2
rib
Membre à l'essai
 
Inscription : janvier 2005
Messages : 70
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 70
Points : 23
Points : 23
si j'ôte : async: false
de ma fonction load sa fonctionne correctement, pourquoi ca ne fonctionne pas avec?

je suis en train d'améliorer ma fonction load, avant je l'utilisait avec des variables dans le data mais plus j'avance dans la conception de mon site plus j'ai besoin de variables du coup j'ai voulu utiliser les json
mais comme tout les div de mon site sont charger avec ces fonction si je n'utilise pas :async: false
de temps en temps j'ai des div qui ne se chargent pas.
rib 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 18h55.


 
 
 
 
Partenaires

Hébergement Web