Когда целесообразно использовать AJAX?


Когда целесообразно использовать AJAX?
каковы плюсы и минусы использования AJAX?

В ответ на мой последний вопрос: некоторые люди казались очень непреклонными в том, что я должен использовать AJAX только в том случае, если ситуация была подходящей: Должен ли я добавить логику AJAX в свои классы/скрипты PHP?

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

Author: Community, 2009-02-17

8 answers

Это довольно большая тема, но вы должны использовать AJAX для улучшения пользовательского интерфейса, не делая сайт полностью зависимым от него. Помните, что поисковые системы и некоторые другие посетители не смогут выполнить AJAX, поэтому, если вы полагаетесь на него для загрузки своего контента, это не сработает в вашу пользу.

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

Хорошим поисковым термином для поиска ресурсов, связанных с этой темой, является "прогрессивное улучшение". Там есть много хороших вещей, потратьте некоторое время на то, чтобы пройтись по ссылкам. Вот один из них, чтобы начать с вас:

http://www.alistapart.com/articles/progressiveenhancementwithjavascript/

 8
Author: Chad Birch, 2009-02-17 21:07:56

Когда вы обновляете только часть страницы или, возможно, выполняете действие, которое вообще не обновляет страницу, AJAX может быть очень хорошим инструментом. Это намного легче, чем обновление всей страницы для чего-то подобного. И наоборот, если вся ваша страница перезагружается или вы переключаетесь на другой вид, вам действительно следует просто связать (или опубликовать) новую страницу, а не загружать ее через AJAX и заменять все содержимое.

Одним из недостатков использования AJAX является то, что для этого требуется javascript работать ИЛИ вы должны построить свое представление таким образом, чтобы пользовательский интерфейс все еще работал без него. Это сложнее, чем делать это просто с помощью обычных ссылок/сообщений.

 5
Author: tvanfosson, 2009-02-17 21:05:33

AJAX обычно используется для выполнения HTTP-запроса, когда страница уже загружена (без загрузки другой страницы).

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

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

 2
Author: grammar31, 2009-02-17 21:07:51

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

Представьте, что у вас есть сайт с огромной пропускной способностью (например, stackoverflow), большая часть навигации, выполняемой пользователями, выполняется с помощью перезагрузки страниц и данных, которые непрерывно передаются по HTTP.

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

Минусами являются SEO (который не работает с сайтами ajax на высокой основе) и люди, у которых отключен JavaScript.

 2
Author: Luca Matteis, 2009-02-17 21:37:30

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

 1
Author: Wayne Molina, 2009-02-17 21:44:57

Ajax дает вам две большие вещи:

Оперативность - при необходимости вы можете обновлять только части веб-страницы за раз (экономя время на повторную загрузку страницы). Это также облегчает просмотр данных, представленных, например, в таблице.

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

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

 1
Author: Jeffrey Cameron, 2009-02-17 22:16:38

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

Поскольку AJAX использует Javascript, то же самое относится и к здесь.

 0
Author: raimue, 2009-02-17 21:08:08

Ajax в основном используется, когда вы хотите перезагрузить часть страницы без повторной отправки всей информации на сервер.

Минусы:

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

Плюсы:

  • Это выглядит более ярким для конечных пользователей
  • Позволяет отображать на странице много информации без необходимости загружайте все одновременно
  • Страница более интерактивна.
 0
Author: kemiller2002, 2009-02-17 21:13:14