Как вставить элемент DOM в упорядоченный список (в Dojo)? - PullRequest
1 голос
/ 04 декабря 2008

Я пытаюсь отправить AJAXy и вставить полученную частичку в мой список в нужном месте. Я могу придумать несколько вариантов, но ни один из них не очень хорош:

Вариант 1: вернуть JSON, выполнить рендеринг в Javascript. Это кажется неправильным местом для рендеринга, тем более что сам список отображается на моем сервере приложений. Однако он имеет преимущество, заключающееся в упрощении доступа к сортируемому значению (response.full_name).

Вариант 2: вернуть фрагмент HTML, разобрать значение сортировки. Разбор HTML в Javascript, вероятно, хуже, чем его рендеринг.

Вариант 3. Возвращение фрагмента HTML, который также содержит секцию <script>, которая оценивается. Это может добавить узел DOM в основной список, а затем сделать JS-вызов, чтобы вставить себя в нужную точку. Недостатком является то, что IE не оценивает <script> теги при вызове innerHTML или appendChild.

1 Ответ

2 голосов
/ 04 декабря 2008

Лично я бы сделал # 1. Нет ничего плохого в том, чтобы объединить сгенерированный на стороне сервера HTML и сгенерированный на стороне клиента, но если это сложная процедура, лучше хранить ее в одном месте (в вашем случае на сервере). Поэтому вы можете вернуть (в формате JSON) два значения: значение сортировки и фрагмент HTML.

После этого все просто: найдите позицию, создайте экземпляр фрагмента (например, используя dojo.html.set () ) и поместите его с помощью dojo.place (), Или создать его непосредственно на месте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...