2017-01-29 2 views
0

hier sind meine Daten auf der Konsole ist es richtigJSON-Daten nicht richtig auf die Homepage kommen

ResponseText { 
    "user": 
    { 
     "userId":"1", 
     "userName":"Khizer", 
     "profile_Img":"Khizar.jpg" 
    }, 
    "comment": { 
      "comment_id":21, 
      "comment":"checking 9", 
      "userId":1 
      }, 
    "error":false 
} 

zeigt aber sein Kommen nicht auf der Webseite in Kommentarfeld anstelle des Namens es zeigt „undefined " und anstelle von Kommentartext es zeigt "[object Object]"

hier ist mein Code, um es auf der Webseite zu drucken

function comment_insert(data) 
{ 
    var t = ''; 
    t += '<li class="comment-holder" id="_'+data.comment.comment_id+'">'; 
    t += '<div class="user-img">'; 
    t += '<img src="'+data.user.profile_Img+'" class="user-img-pic"/>'; 
    t += '</div>'; 
    t += '<div class="comment-body">'; 
    t += '<h3 class="username-feild">'+data.user.userName+'</h3>'; 
    t += '<div class="comment-text">'+data.comment.comment+'</div>'; 
    t += '</div>'; 
    t += '<div class="comment-buttons-holder">'; 
    t += '<ul>'; 
    t += '<li class="delete-btn">'; 
    t +=   'X'; 
    t += '</li>'; 
    t +='</ul>'; 
    t +='</div>'; 
    t +='</li>'; 
    $('.comment-holder-ul').prepend(t); 

};

Antwort

1

Wenn Sie versuchen, data.user.profile_Img machbar zu machen, sollte data ein Objekt zuerst sein: data sollte zuerst als JSON-Objekt analysiert werden.

jsonData = JSON.parse(data) 

Dann werden Sie in der Lage sein, Daten von dataObj.user.profile_Img oder anderen Schlüsseln in dem Objekt zu besuchen.

[Bearbeiten] Testcode für Ihr Beispiel:

<html> 
<body> 
<div id="test"> 
</div> 
</body> 
<script> 
var data = JSON.parse('{"user":{"userId":"1","userName":"Khizer","profile_Img":"Khizar.jpg"},"comment":{"comment_id":21,"comment":"checking9","userId":1},"error":false}') 
function comment_insert(data) 
{ 
    var t = ''; 
    t += '<li class="comment-holder" id="_'+data.comment.comment_id+'">'; 
    t += '<div class="user-img">'; 
    t += '<img src="'+data.user.profile_Img+'" class="user-img-pic"/>'; 
    t += '</div>'; 
    t += '<div class="comment-body">'; 
    t += '<h3 class="username-feild">'+data.user.userName+'</h3>'; 
    t += '<div class="comment-text">'+data.comment.comment+'</div>'; 
    t += '</div>'; 
    t += '<div class="comment-buttons-holder">'; 
    t += '<ul>'; 
    t += '<li class="delete-btn">'; 
    t +=   'X'; 
    t += '</li>'; 
    t +='</ul>'; 
    t +='</div>'; 
    t +='</li>'; 
    return t; 
} 
document.getElementById('test').innerHTML = comment_insert(data) 
</script> 
</html> 
+0

ich diese Aussage bin mit Daten zu übergeben comment_insert (jQuery.parseJSON (Daten));“ –

+0

Da muss ein Problem Ihrer Datenverarbeitung sein. Sie können das Datenobjekt (geparst) in die Konsole drucken und sehen, was passiert ist.Wenn es korrekt ist, sollten Sie mehrere Objekte sehen.Ich habe meine Antwort bearbeitet und den Testcode für Ihr Beispiel eingefügt, es funktioniert gut in meinem Browser. –

+0

danke sehr viel –