2016-06-11 6 views
0

So habe ich ein modales JQuery-Dialogformular, das die Registrierungsinformationen eines Benutzers annimmt, die dann als JSON an einen Webdienst gesendet werden. Der Web-Service verarbeitet die Registrierungsanforderung und sendet ein eigenes JSON zurück. Das alles funktioniert, außer dass ich nicht herausfinden kann, wie das JSON, das zurückkommt, analysiert wird. Hier ist der Code auf Erfolg der $.ajax Methode aufgerufen werden:Kann JSON-Antwort vom Webdienst nicht lesen

success: function (data) { 
          console.log(data); 
          console.log(data[0].Reply); 
          $("#spStatus").css('class',  
          'textGreen').text(data[0].Reply); 

ich die Daten an die Konsole Anmeldung zu überprüfen, was zurückkommt, und das ist, was ich sehe:

Console messages

Ich kann anscheinend nicht herausfinden, wie man die in data enthaltenen Informationen liest, und der Webservice leistet seinen Teil zur Rückgabe von JSON-Daten. Ich kann JSON.parse nicht verwenden, da bereits JSON-Daten zurückgegeben werden. Ich weiß, das muss etwas Einfaches sein. Hilfe?

+0

Versuchen Sie: 'console.log (JSON.parse (dat.d) .Reply);' –

+1

Amir, das war es! Poste dies als Antwort, damit ich dir Requisiten dafür geben kann. Vielen Dank! –

+0

Wenn Sie api kontrollieren, sollte die Quelle behoben werden – charlietfl

Antwort

1

Die Antwort Karte wird eine json, das eine Eigenschaft hat d, die ein JSON-String ist und deshalb:

success: function (data) { 
    var jsonStr = data.d; 
    var json = JSON.parse(jsonStr); 

    console.log(json.Reply); 
} 
0

Sie benötigen JSON.parse (Daten) verwenden, das in ein Objekt

success: function (data) { 
    var obj=JSON.parse(data); <----- this is your object now 

} 
+0

Dies ist nicht korrekt, da die zurückkommenden Daten bereits im JSON-Format vorliegen. Dies wirft einen Fehler auf. Amirs Lösung ist die richtige. Der Aufruf von "JSON.parse (data.d)" funktioniert. Aber ich weiß es zu schätzen, dass du dir die Zeit genommen hast, mir zu antworten! (Lächeln) –