当我向我的 webApp 发送 AJAX 查询时,当服务器返回带有标头的响应时,Qooxdoo 无法正确解释响应:
内容类型:应用程序/json;字符集=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("完成", function(response){ var 结果 = response.getContent(); 警报(结果);// 预期:对象 警报(结果。状态);// 预期:200 }, 这); req.send();
在这种情况下 alert(result) 返回给我 null (应该是对象)。
Qooxdoo 应用和服务器应用运行在http://localhost:8080/
如果我将 mime-type 标头更改为:
内容类型:文本/html;字符集=utf-8
一切正常。
当我添加到名为 JSONView 的 firefox 添加然后 alert(result); 返回给我:
<doctype html=""> <div id="json"> <ul class="obj 可折叠"> <li> <span class="prop">session_id</span> : <span class="string">"e4cfcd8e91c567cce3767375dd3fd9d"</span> </li> <li> <span class="prop">状态</span> : <span class="num">200</span> </li> </ul> </div> </doctype>
但服务器响应是:
{"session_id":"31446a34db6961a8d67e4e47c96cfb4","status":200}
所以,我认为 Qooxdoo 使用的是 Firefox 修改的响应,而不是 serwer 返回的纯代码。在像 jQuery 这样的框架中,我从来没有遇到过任何问题。
有没有解决方案,或者我应该添加 jQuery 框架并使用 jQuery ajax 请求?
我有:Linux 下的 Qooxdoo 1.2.1 和 firefox 3.6.12。