GWTQuery load() заменяет элемент
Я только начинаю работать с GWTQuery и пытаюсь обернуть голову вокруг функции load(). Рассматривать:
public void onModuleLoad() {
SimplePanel sp = new SimplePanel();
sp.getElement().setId("stuff");
RootLayoutPanel root = RootLayoutPanel.get();
root.add(sp);
$("#stuff").load("/hello.html");
}
Если я запускаю выше, пустой div
блок для элемента SimplePanel заменяется содержимым hello.html
, Другими словами, это заканчивается в body
блок, а div
исчезает из DOM. То, что я хочу, это для div
блок для содержания hello.html
, Я обошел это, поставив еще один временный SimplePanel
как дитя div id="stuff"
и звонит load()
на что. Это работает как хотелось бы. Но я чувствую, что упускаю что-то фундаментальное. Есть ли способ сделать это без одноразового использования SimplePanel
?
1 ответ
Ваш код работает нормально, GQuery load()
заменяет содержимое элемента содержимым, полученным с сервера.
Реализация load()
как вы можете видеть в Ajax.java, сначала очистите возвращенную строку, удалив <html>
<head>
<body>
а также <script>
теги, а затем оберните содержимое в <div>
и, наконец, очистить содержимое целевой панели ($(#stuff)
в вашем случае) и добавляет новое созданное <div>
,
Я протестировал ваш код с последним снимком и со стабильными версиями, какой выпуск вы используете?