2017-12-16 5 views
-2

Ich versuche, ein Objekt von einer Ajax Anfrage erhalten, aber nichts erscheint. Ich sehe meinen Fehler nicht, also gehe ich Schritt für Schritt. In diesem Fall mag ich die Größe Wert (37 in meinem Beispiel) vom Objekt (in json konvertieren):Wie verwendet man Objekt von Ajax Anfrage in Javascript

function modsdetails(server) 
{ 
    clearTimeout(myReloadPageTimeout); 
    $(".modal-body #detailsId").text(""); 
    $.ajax({ 
     type : "GET", 
     url : url + "/modsdetails?server=" + server, 
     dataType: 'json', 
     success: function(data) 
     { 
      var parseData = JSON.parse(data); 
      var detail = parseData.size; 
      fillData(detail); 
     }, 
     error : function(e) 
     { 
      fillData(null); 
     } 
    }); 
    $('#modalId').modal('show'); 
} 

function fillData(data) 
{ 
    if(data!=null) 
    { 
     $(".modal-body #detailsId").text(data); 
    } 
    else 
    { 
     $(".modal-body #detailsId").text("Can Not Get Data from Server!"); 
    } 
} 

ich mache einen Test mit Postman zu sehen, was die Rückkehr ist, und das ist:

Das Ergebnis ist, dass nichts in meinen modalen Fenstern erscheint.

Vielen Dank für Ihre Ideen/Hilfe

+3

irgendwelche Fehler in der Konsole ?? –

+0

und ist der Fehler Callback feuern? Wenn ja, überprüfen Sie die Argumente für weitere Details – charlietfl

+0

SyntaxError: JSON.parse: unerwartetes Zeichen in Zeile 1 Spalte 2 der JSON-Daten – Corwin59

Antwort

1

Du einen Fehler bekommen, weil Sie bereits dataType: 'json' angegeben, analysierte jQuery automatisch als JSON, um den Anruf zu JSON.parse verursacht zu scheitern (da die Daten nicht länger ein gültiger JSON-String , es ist ein JavaScript-Objekt). Sie können direkt auf die size wie diese data.size zugreifen. Sie müssen es nicht erneut analysieren.

+0

In der Tat ist der JSON länger und ich habe nicht viel Linie zu schneiden, aber in der ursprünglichen JSON, gibt es keine zusätzliche Koma, meine schlechte – Corwin59

+0

@ Corwin59 aktualisiert meine Antwort :) –

+1

Sehr gut entdeckt! – Moob

0

Mit Hilfe von @Sanchit Patiyal mache ich einen direkten Zugriff mit data.size, ohne JSON.parse() zu verwenden.

Ich bin nicht wirklich verständlich, warum das ohne Parsing funktioniert.

Vielen Dank für Ihre Antworten

+0

@Crowin Ich habe eine Antwort hinzugefügt. Sie können dort lesen und akzeptieren :) –

+1

@Sanchit Patiyal: Ich mache es, danke – Corwin59