WebAppにAJAXクエリを送信しているときに、サーバーがヘッダー付きの応答を返すと、Qooxdooは応答を正しく解釈できません。
コンテンツタイプ:application / json; charset = utf-8
サンプルコードは次のとおりです。
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(結果); //期待される:オブジェクト alert(result.status); //予想:200 }、 これ); req.send();
この場合、alert(result)はnullを返します(オブジェクトである必要があります)。
Qooxdooアプリとサーバーアプリはhttp:// localhost:8080/で実行されます
mime-typeヘッダーを次のように変更した場合:
コンテンツタイプ:text / html; charset = utf-8
すべてが正しく機能します。
JSONViewという名前のFirefoxの追加に追加すると、alert(result); 私に戻ります:
<doctype html = ""> <div id = "json"> <ul class = "objcollapsible"> <li> <span class = "prop"> session_id </ span> : <span class = "string"> "e4cfcd8e91c567cce3767375dd3fd9d" </ span> </ li> <li> <spanclass="prop">ステータス</span> : <span class = "num"> 200 </ span> </ li> </ ul> </ div> </ doctype>
ただし、サーバーの応答は次のとおりです。
{"session_id": "31446a34db6961a8d67e4e47c96cfb4"、 "status":200}
したがって、Qooxdooは、サーバーから返された純粋なコードではなく、Firefoxによって変更された応答を使用すると思います。jQueryのようなフレームワークでは、これまで問題はありませんでした。
これに対する解決策はありますか、それともjQueryフレームワークを追加してjQuery ajaxリクエストを使用する必要がありますか?
LinuxではQooxdoo1.2.1とfirefox3.6.12があります。