bonjours, je transmet un json via ajax a un fichier php
ce fichier php décode le json et doit reconstruire un array (key,valeur) des données contenu dans le json.
mais je n'arrive pas a récupérer la key après le json_decode.
voila mon code de test:
le fichier ki doit traiter le json:
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 <?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> // test variables var obj = {id_div:'test',json:'this is a test json property',xml:'this is a test xml property'}; // encoding an object var a = $.JSON.encode(obj); $.ajax({ type: 'GET', url:'Load_2.php', data:{json: a}, success: function(html) { $('#'+a.id_div).html(html); }, async: false }); </script> <div id="test"> </div>
voici la réponse de ce fichier:
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 <?php define ('ASSASSIN_ROOT', './'); require_once ASSASSIN_ROOT.'commun.php'; // L'objet user, démarrage de la session utilisateur $user = new AeUser(); $user->session_begin(); $assassin_root = ASSASSIN_ROOT; 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']; $obj = json_decode($json); foreach ($obj as $json_variables){ array_push($data, array($json_variables => $json_variables)); } } print_r ($data); //var_dump(json_decode($json, true)); //echo wrap_tpl ($data , $template); } ?>
comment puis-je remplacer [test] par [id_div] par exemple.
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 Array ( [0] => Array ( [test] => test ) [1] => Array ( [this is a test json property] => this is a test json property ) [2] => Array ( [this is a test xml property] => this is a test xml property ) )
si quelqu'un pourrait m'aiguiller sur la solution sa m'aiderait bien.
merci d'avance.
Partager