Что такое преимущества обслуживания статического HTML и генерации содержания с AJAX/JSON?

Это не хорошая практика, чтобы увидеть, является ли либо bool True:

if (False,False):
    print("it does not do what you think it does")

Вывод:

it does not do what you think it does

См. Python True проверка значения : любой непустой кортеж имеет значение True

. Правильный путь:

if a or b:   
    pass

. Для кратных можно использовать . any() :

if any(x for x in (False, True)):
    pass   # will enter here if any part of the tuple is True
else:
    pass   # will enter here if no part of the tuple is True

5
задан mannicken 26 February 2009 в 07:03
поделиться

3 ответа

"Весь HTML в Urbantastic абсолютно статичен. Все динамические данные отправлены через Ajax в формате JSON и затем объединены с HTML с помощью JavaScript".

Я думаю, что это - стандартная модель RIA. Слово акцента, кажется, 'Все' здесь. Причина во многих веб-сайтах, много динамического контента все еще не получено через Ajax, только основные характеристики.

Я не думаю, что проблемами рендеринга было бы главное узкое место, если у Вас нет огромной веб-страницы с большим количеством элементов.

Доступность JS является действительно проблемой. Но затем, у пользователей, которые хотят испытать Ajax, должен быть включенный JS. Вы сделали обзор того, сколько из ВАШИХ пользователей не включили его?

2
ответ дан 15 December 2019 в 01:12
поделиться

Преимущество, можно служить 99% (в развес) содержания через CDN (как Akamai) или даже поместить его на внешнее устройство хранения данных (например, S3). При обслуживании только JSON для сайта почти невозможно получить slashdoted.

1
ответ дан 15 December 2019 в 01:12
поделиться

Когда Ajax начал поражать его большой, в конце 2005 я записал клиентский движок шаблонов и в основном превратил мой шаблон блоггера в полностью оперенный опыт Ajax.

Вещь, тот шаблонный материал, было действительно легко реализовать, и это устранило много трудной работы.

Вот то, как это, был сделан.

<div id="blogger-post-template">
<h1><span id="blogger-post-header"/></h1>
<p><span id="blogger-post-body"/><p>
<div>

И затем в JavaScript:

var response = // <- AJAX response
var container = document.getElementById("blogger-post-template");
if (!template) { // template context
    template = container.cloneNode(true); // deep clone
}
// clear container
while(container.firstChild) 
    container.removeChild(template.firstChild);

container.appendChild(instantiate(template, response));

Инстанцировать функция делает глубокий клон шаблона, затем ищет клон идентификаторы для замены данными, найденными в ответе. Конечным результатом является заполненное дерево DOM, которое было первоначально определено в HTML. Если у меня был больше чем один результат, я просто циклично выполнился через вышеупомянутый код.

1
ответ дан 15 December 2019 в 01:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: