Qooxdoo AJAX help - события не работают?
Я пытаюсь сделать AJAX-вызов CouchDB с помощью Qooxdoo, но, насколько я могу судить, кажется, что никакие события не запускаются для моего объекта запроса (т. Е. На консоли ничего не появляется, и никаких предупреждений не поступает). Может кто-нибудь сказать мне, что должно происходить / что я делаю не так?
(Это все в методе 'main' моего класса)
var req = new qx.io.remote.Request('http://localhost:5984/japanese/words', 'GET', 'application/json').set({crossDomain:true,timeout:0});
this.debug("Testing");
req.addListener("created", function(e) {
this.debug("Created");
alert(e.getContent());
}, this);
req.addListener("sending", function(e) {
this.debug("Configured");
alert(e.getContent());
}, this);
...
(Это всего лишь пример - я добавил похожего слушателя для всех событий, о которых могу думать, но на консоли ничего не появляется)
Мой сервер работает под управлением Ubuntu 10.10 с Qooxdoo 1.3.
Редактировать:
Теперь пытаюсь запросить "http://localhost/languages/test.php" (мое приложение находится по адресу "http://localhost/languages/index.html"), и все еще не появляются никакие предупреждения, кроме тестового, который я выложил снаружи любого события. Моя просьба сейчас: new qx.io.remote.Request('http://localhost/languages/test.php', 'GET', 'application/json');
Файл PHP возвращает допустимый JSON, когда я обращаюсь к нему в своем браузере. Конечно, это должно работать?
1 ответ
В междоменных запросах в qooxdoo используется транспортный скрипт, который не запускает события. Вместо этого вашему серверу нужно обернуть данные ответа при вызове статического метода. Подробности смотрите в документации к пакету qx.io.remote: