2013-08-12 5 views
1

J'ai un objet json en réponse, en utilisant que je dois créer un jstree. Mais pas en mesure de lire cet objet json dans la fonction javascript.comment lire la réponse json en javascript

Mon JavaScript:

var repoId = $('#frmHdnV').val(); 
// variable to hold request 
var request= $.post("CreatJqueryTree",{repoId:repoId},function(data){},"json"); 

request.done(function (response, textStatus, jqXHR){ 

    alert(response); 

    var tem = JSON.parse(response); 
    var obj = tem.data; 
    $("#tes").jstree({ 
     "json_data" : { 
      "data" : // here i need that json object to create this tree 
     }, 
      "plugins" : [ "themes", "json_data", "checkbox", "ui" ] 
     }).bind("select_node.jstree", function (e, data) { alert(data.rslt.obj.data("id")); }); 

}); 


request.fail(function (jqXHR, textStatus, errorThrown){ 


    alert("....Not Done..."); 
    alert(errorThrown); 

}); 

la réponse que je peux voir dans le firefox de Firebug. mais comment lire cet objet JSON de la réponse.

+1

Vous voulez dire ' "json_data": obj'? –

+0

Vous devez remplacer "data": // ici j'ai besoin de cet objet json pour créer cet arbre par "data": function (n) {return {id: n.attr? n.attr ("id"): 0}} – sgroh

+0

Votre erreur est que vous avez déjà spécifié le type de données comme 'JSON', donc vous n'avez pas besoin d'analyser la réponse - qui est probablement jeter une erreur dans la console - de sorte que vous pouvez supprimer 'var tem = JSON.parse (réponse);' et juste utiliser 'var obj = response.data;' –

Répondre

1

Essayez ceci:

$.post("CreatJqueryTree",{repoId:repoId},function(data){ 
    $("#tes").jstree({ 
     "json_data" : { 
      "data" : data 
     }, 
      "plugins" : [ "themes", "json_data", "checkbox", "ui" ] 
     }).bind("select_node.jstree", function (e, data) { alert(data.rslt.obj.data("id")); }); 
},"json"); 
+0

Merci beaucoup. Ça a marché. – Shibankar

Questions connexes