Wenn ich schicke AJAX-Abfrage meine webApp, Qooxdoo die Antwort nicht interpretieren kann richtig, wenn der Server Rückkehr Reaktion mit Kopf:Problem mit JSON-Objekt in qooxdoo
Content-Type: application/json; charset=utf-8
Hier ist Beispielcode:
var req = new qx.io.remote.Request("http://localhost:8080/bm/login.json","POST","application/json"); req.setFormField('login',this.loginInput.getValue()); req.setFormField('password',this.passwordInput.getValue()); req.addListener("completed", function(response){ var result = response.getContent(); alert(result); // expected: object alert(result.status); // expected: 200 }, this); req.send();
In diesem Fall gibt alert (result) zu mir null (sollte Objekt sein).
Qooxdoo App und Server-Anwendung läuft auf http://localhost:8080/
Wenn ich Mime-Type-Header zu ändern:
Content-Type: text/html; charset=utf-8
alles ordnungsgemäß funktioniert.
Wenn ich zu firefox Zusatz namens JSONView hinzufügen, dann alert (result); kehrt zu mir:
<doctype html=""> <div id="json"> <ul class="obj collapsible"> <li> <span class="prop">session_id</span> : <span class="string">"e4cfcd8e91c567cce3767375dd3fd9d"</span> </li> <li> <span class="prop">status</span> : <span class="num">200</span> </li> </ul> </div> </doctype>
aber Server-Antwort ist:
{"session_id":"31446a34db6961a8d67e4e47c96cfb4","status":200}
Also, ich denke, dass zurück von Firefox Antwort Qooxdoo geändert, nicht der reine Code aus serwer. In Frameworks wie jQuery hatte ich noch nie Probleme damit.
Gibt es eine Lösung dafür, oder sollte ich jQuery Framework hinzufügen und jQuery ajax Anfragen verwenden?
Ich habe: Qooxdoo 1.2.1 und Firefox 3.6.12 unter Linux.
Ich habe festgestellt, dass, wenn ich den Formattyp POST in GET ändere und Formularparameter auf URL mit req.setParameter (...) setze, alles in Ordnung sei. – tchudyk