Каков наилучший способ рендеринга повторяющихся Div с помощью JQuery и AJAX? - PullRequest
1 голос
/ 06 августа 2010

Что я обычно делал бы, это генерировал HTML в веб-сервисе, а затем отображал его на jquery ... Держу пари, есть лучший способпомощь!

Ответы [ 3 ]

0 голосов
/ 06 августа 2010

Если вы подумаете об этом, вы всегда придете к двум выводам:

  • "pre render" HTML-сервер и отправьте весь пакет в браузер

    = больше трафика по проводам, более быстрый рендеринг, меньшее использование клиентского процессора

  • отправка только данных и инструкций (например, JSON)

    = меньше трафика по проводам, большеиспользование клиентского процессора, возможно медленное рендеринг

Так что, на самом деле, это зависит от ваших потребностей.Сколько людей собираются получить доступ к вашим данным и т. Д.

0 голосов
/ 06 августа 2010

Вот типичный jQuery AJAX-вызов веб-службы для получения данных div и способы их обработки.

Допущения:

  • Вы передаете в службу divIdконкретный див.Вы можете изменить параметры, отправленные в переменную данных, в соответствии с вашими потребностями, если они соответствуют параметрам WebMethod.
  • Вы знаете, куда хотите поместить результат: targetLocation

    $ajax({ type: "POST",         
       url: "WebServices/YourService.asmx/GetDivs",
       data: "{'divToGetId' :'" + divId + "'}",
       dataType: "json",
       contentType: 'application/json; charset=utf-8',
       success: function(json) {
          var result = eval("(" + json.d + ")");
          $(targetLocation).html(result.value);
       }
    });
    

Ваш веб-сервис:

[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
[WebMethod(EnableSession = true)]
public string GetDivs(string divId)
{
    return DivProvider.GetChildDivs(divId);
}

Ваш JSON должен быть возвращен как что-то вроде:

{"value": "<div>contents of div 1</div><div>contents of div 2</div>"}
0 голосов
/ 06 августа 2010

возвращает объект json в ваш веб-сервис и визуализирует div в jquery, и вы можете использовать этот chain.js

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