Quand je vous envoie la requête AJAX à mon webApp, qooxdoo ne peut pas interpréter la réponse correctement lorsque la réponse de retour du serveur avec en-tête:Problème avec l'objet JSON dans qooxdoo
Content-Type: application/json; charset=utf-8
Voici un exemple de code:
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();
Dans ce cas, l'alerte (résultat) me revient null (devrait être objet).
app qooxdoo et l'application serveur fonctionne sur http://localhost:8080/
Si je change en-tête de type MIME:
Content-Type: text/html; charset=utf-8
tout fonctionne correctement.
Lorsque j'ajoute à l'ajout de Firefox nommé JSONView puis alerte (résultat); me revient:
<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>
mais la réponse du serveur est:
{"session_id":"31446a34db6961a8d67e4e47c96cfb4","status":200}
Donc, je pense que la réponse de l'utilisation qooxdoo modifié par Firefox, pas le code pur retour de Serwer. Dans des frameworks comme jQuery, je n'ai jamais eu de problème avec ça.
Existe-t-il une solution pour cela, ou devrais-je ajouter un framework jQuery et utiliser des requêtes jQuery ajax? Q: Qooxdoo 1.2.1 et Firefox 3.6.12 sous Linux.
J'ai remarqué que lorsque je change de méthode, tapez POST à GET et réglez les paramètres de formulaire sur URL avec req.setParameter (...) tout va bien. – tchudyk