1

我刚刚开始使用 GWTQuery,并试图围绕 load() 函数展开思考。考虑:

    public void onModuleLoad() {
    SimplePanel sp = new SimplePanel();
    sp.getElement().setId("stuff");
    RootLayoutPanel root = RootLayoutPanel.get();
    root.add(sp);

    $("#stuff").load("/hello.html");
}

如果我运行上述代码,divSimplePanel 元素的空块将替换hello.html. 换句话说,它在body块中结束,并且div从 DOM 中消失。我想要的是div包含 hello.html. 我通过将另一个临时对象SimplePanel作为 的孩子div id="stuff"并调用load()它来解决这个问题。它可以按需要工作。但我觉得我错过了一些基本的东西。有没有办法做到这一点没有一次性SimplePanel

4

1 回答 1

0

您的编码工作正常,GQueryload()将元素的内容替换为从服务器获取的内容。

load()您可以在Ajax.java中看到的实现,首先清除返回的字符串删除<html> <head> <body><script>标签,然后将内容包装到 a<div>中,最后清空目标面板的内容($(#stuff)在您的情况下),并附加新创建的<div>.

我已经用最后一个快照和稳定版本测试了你的代码,你使用的是什么版本?

于 2013-10-13T15:47:12.263 回答