Предоставляет ли метод загрузки jquery функциональность ajax, эквивалентную методу Rails replace_html? - PullRequest
6 голосов
/ 15 мая 2009

Метод загрузки jquery загружает HTML из удаленного файла и внедряет его в DOM. Например, чтобы загрузить файл feeds.html в div с идентификатором каналов, вы должны сделать это:

$("#feeds").load("feeds.html");

Является ли это альтернативой вызову партиала с помощью метода Rails replace_html или функциональность немного отличается?

page.replace_html 'feeds', :partial => 'main/feeds',
    :locals => {:feed =>  @feed_data }

[РЕДАКТИРОВАТЬ]: Как указывает Крейг Штунц, replace_html возвращает Javascript вместо HTML - в чем преимущество / недостаток этого? Означает ли это, что возвращаемый фрагмент имеет больше функциональных возможностей, чем веб-страница, использующая Javascript, более мощная, чем обычная HTML-страница? Или есть какая-то другая причина для возврата Javascript вместо HTML?

1 Ответ

6 голосов
/ 15 мая 2009

Конечный результат почти такой же, но они работают совсем по-другому. Метод load означает, что ваш сервер возвращает фрагмент HTML, и jQuery вставляет его на страницу. Метод replace_html означает, что ваш сервер возвращает JavaScript вместо HTML, и этот JavaScript выполняется для вставки фрагмента HTML на страницу. Таким образом, конечный HTML-код одинаков, но трафик между клиентом и сервером сильно отличается.

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