Когда использовать AJAX - PullRequest
       6

Когда использовать AJAX

1 голос
/ 21 февраля 2011

Допустим, у нас есть страница, написанная на PHP. Эта страница самостоятельно загружает шаблон с верхним и нижним колонтитулами и распечатывает их. Теперь предположим, что в теле этой страницы мы хотели бы запустить цикл и загрузить несколько сообщений (сообщений, взятых из базы данных).

Нам также нужна страница для загрузки новых сообщений каждые 10 секунд, если таковые имеются, без обновления страницы (классический AJAX). В этом вызове ajax будут использоваться JSON, AJAX и микро-шаблоны.

Теперь мне просто интересно:

Нужен ли нам PHP для загрузки сообщений при первой загрузке страницы? Разве мы не можем просто начать этот вызов Ajax и загружать посты с помощью Ajax? (Обратите внимание, что существующий вызов ajax будет сохранен как есть, так как он загружает сообщения, начиная с последней загруженной (в случае отсутствия сообщений, это будет означать все сообщения).

Если вы не поняли мой вопрос, не стесняйтесь, дайте мне знать.

Ответы [ 6 ]

3 голосов
/ 21 февраля 2011

В этой ситуации я думаю, что более простой подход - это позволить AJAX обрабатывать его: если вы разрешите php загружать исходные сообщения, у вас будет два места в коде, которые вам нужно будет поддерживать для выполнения идентичных заданий.

1 голос
/ 21 февраля 2011

Я бы рекомендовал выводить некоторые данные с помощью php - AJAX требует JavaScript, который многие люди не активировали.

1 голос
/ 21 февраля 2011

Недостаток этой техники в том, что она не грациозно понижается. Поэтому люди с отключенным JavaScript не будут видеть никаких сообщений.

1 голос
/ 21 февраля 2011

Я думаю, вы спрашиваете, как загружать посты при первом доступе к странице.Если это так: когда страница загружается первой, есть PHP, который распечатывает существующие сообщения.Затем добавьте JavaScript, чтобы обновлять страницу новыми сообщениями каждые 10 секунд.Это вопрос предпочтений.Возможно, вы захотите, чтобы при первой загрузке страницы не было сообщений, а затем используйте Ajax для получения существующих сообщений после загрузки страницы.

Редактировать:

Iсогласитесь с jondavidjohn, что вам лучше использовать чистый Ajax.Однако вы всегда можете выделить код, который выбирает страницы, в отдельную функцию.Таким образом, скрипт, который генерирует страницу, вызывает ту же функцию, что и скрипт, который вызывается через Ajax.

0 голосов
/ 21 февраля 2011

Почему бы вместо того, чтобы браузер запрашивал сервер на наличие новых сообщений, браузер не должен выдавать новый контент в браузер, если он доступен с использованием узлов типа node.js?

0 голосов
/ 21 февраля 2011

Я разработал мой сайт исключительно с AJAX, и он прекрасно работает, за исключением одной довольно серьезной проблемы: использование AJAX требует включения JS.Конечно, если пользователи доверяют вашему сайту, это не проблема, но если они этого не делают, то решение AJAX не будет работать, если вы не поместите всю страницу в тег noscript.

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