2014-06-13 3 views
-2

Je dois avoir un div html rempli avec les données json reçues du serveur qui est un serveur json-rpc et il retruns un type de contenu application/jsson-rpc et je peut voir le résultat dans le chrome et les outils de Firefox dev ... Je dois la voir dans le cadre de la page dans un div donnéRemplir un div html avec des données json reçues d'un serveur

j'ai ce script pour remplir le mybox div mais il ne donne rien

var returnedinfo; 
    var request = $.ajax ({ 
    url: "/url", 
    type: "POST", 
    data: JSON.stringify(data), 
    success: function(json) { 
     alert("success sent ajax"); 
     $("#mybox").html(json); 
     returnedinfo = json;    
    }); 

J'ai également lié la fonction de remplissage à l'extérieur du bloc ajax lorsque la requête est terminée

request.done(function(msg) { 
     $("#mybox").text(msg); 
     }); 

Ce juste retour un tableau vide comme celui-ci

[object Object] 

et rien d'autre aide sera appréciée.

+0

nous dans le format JSON. –

+0

utilise 'dataType:" json "' –

+0

que voulez-vous dire par le format de json? et n'est pas le type de données JSON censé être pour la demande POST envoyée? –

Répondre

1

Vous devez ajouter le key de l'élément json.

$("#mybox").html(json.key); 
+0

Merci Levent ça fonctionne maintenant après avoir ajouté la clé de l'élément json dont j'avais besoin comme $ ("# mybox"). Html (json.result); –

1

Ajoutez dataType à votre requête ajax.

var request = $.ajax ({ 
url: "/url", 
type: "POST", 
data: JSON.stringify(data), 
dataType: "json", 
success: function(json) { 
    alert("success sent ajax"); 
    $("#mybox").html(json); 
    returnedinfo = json;    
}); 
+0

Comment cela devrait-il résoudre le problème? –

+0

Qu'avez-vous vu pour console.log (josn). Pouvez-vous fournir votre réponse json? –

1

essayer mon exemple de travail regarder contentType et html fonction pour remplacer le HTML de l'élément mybox

$.ajax({ 
    type: 'POST', 
    data: JSON.stringify(data), 
    contentType: "application/json; charset=utf-8", 
    url: 'url', 
    success: function (dataRes) { 
       $('#mybox').html(dataRes); 

       }, 
    error: function(a,b,c) { 

    } 
}); 

Notez que dans ce cas dataRes en fonction de la réussite est une chaîne html comme <strong>test</strong> .

Si votre fonction côté serveur retourne un objet JSON, vous devez ajouter à la demande dataType: 'json' ajax et vous pouvez utiliser les propriétés de dataRes objet comme ici $('#mybox').html(dataRes.property1);

Questions connexes