我正试图用Qooxdoo对CouchDB进行AJAX调用,但据我所知,没有事件似乎在我的请求对象(即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,当我在浏览器中访问它。这肯定会起作用吗?
qooxdoo中的跨域请求使用不触发事件的脚本传输。相反,您的服务器需要将响应数据封装在对静态方法的调用中。有关详细信息,请参阅qx.io.remote的包文档:
http://demo.qooxdoo.org/current/apiviewer/qx.io.remote