Когда я отправляю запрос AJAX в мое webApp, Qooxdoo не может правильно интерпретировать ответ, когда сервер возвращает ответ с заголовком:
Content-Type: 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(result); // expected: object
alert(result.status); // expected: 200
}, this);
req.send();
В этом случае оповещение (результат) возвращает мне значение null (должно быть объектом).
Приложение Qooxdoo и серверное приложение работают на http://localhost:8080/
Если я изменю заголовок MIME-типа на:
Content-Type: text/html; charset=utf-8
все работает правильно.
Когда я добавляю в Firefox дополнение с именем JSONView, то alert (result); возвращается ко мне:
<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>
но ответ сервера:
{"session_id":"31446a34db6961a8d67e4e47c96cfb4","status":200}
Итак, я думаю, что Qooxdoo использует ответ, измененный Firefox, а не чистый код, возвращаемый из serwer. В таких средах, как jQuery, у меня никогда не было проблем с этим.
Есть ли какое-то решение для этого, или я должен добавить фреймворк jQuery и использовать jQuery ajax-запросы?
У меня есть:
Qooxdoo 1.2.1 и firefox 3.6.12 под Linux.