JSON response undefined

Status
Nicht offen für weitere Antworten.

neonfly

Aktives Mitglied
Guten Abend,

ich arbeite mit dem Client-Framework ExtJS schon seit längerem und benutze AJAX an fast allen Stellen, um mit meiner Java/Spring-Anwendung zu kommunizieren, manchmal nutze ich DWR.

Nun bin ich auf ein, für mich, unerklärliches Problem gestossen.
Folgender Code bringt mir Nachrichtenboxen, mit dem Inhalt wie im Code kommentiert.
success true wird gefunden, aber alles in result nicht.

Die Serverantwort im Firebug, ist im Anhang.

Java:
function loadForm() {
           Ext.Ajax.request({
                  url      : 'loadform.html?globalId=' + gvGlobalId,
                  method   : 'GET', 
                  callback : function(pvOptions, pvSuccess, pvResponse){

                      var responseObj = Ext.util.JSON.decode(pvResponse.responseText);
                      alert(responseObj.success); //shows "true"
                      if(responseObj.success == "true") {
                          alert(responseObj.result.title); //shows "undefined"
                      } else {

                          Ext.Msg.alert('Fehler', 'Fensterinformationen konnten nicht geladen werden!',
                          function() {win.close();});
                      }
                  }
            });
       }

Die gleiche Vorgehensweise funktioniert im Rest des Projektes problemlos; vom Aufbau her gleicher Response und gleiche Verarbeitungsweise Client-seitig.

Hat jemand eine Idee, woran das liegen könnte?
 

neonfly

Aktives Mitglied
LOL, hat funktioniert.

Dann sag mir aber bitte, warum folgender Code (auf response bezogen), an zig anderen Stellen funktioniert:
Java:
Ext.Ajax.request({
              url      : lvUrl,
              method   : 'GET', 
              callback : function(pvOptions, pvSuccess, pvResponse){

                 var responseObj = Ext.util.JSON.decode(pvResponse.responseText);
                 gvRole = responseObj.result.userrole;
                 gvFir = responseObj.result.company;
                 gvUser = responseObj.result.userid;
              }
        });
 

neonfly

Aktives Mitglied
Exakt das Gleiche, bis auf die unterschiedlichen Daten natürlich.

Ich verstehe das nicht, ich benutze das 2. Snippet grob überschlagen zwischen 45 und 50mal und es funktioniert überall problemlos.
 

eRaaaa

Top Contributor
puh, gute frage.

....

/edit die zweite: und du bist dir sicher, dass sonst auch immer value ein array war? :D
sieht das da nicht vllt irgendwie so aus:
Code:
{"result": 
        {"userrole": "USERROLE", "company": "DEINECOMPANY", "userid": "ID"}}

denn folgendes geht:
Code:
var object ={"result": 
        {"userrole": "USERROLE", "company": "DEINECOMPANY", "userid": "ID"}};
alert(object.result.userrole);
 
Zuletzt bearbeitet:
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben