каковы преимущества и недостатки создания ajax вызовы с помощью jQuery? [закрытый]

10
задан casperOne 12 January 2013 в 15:29
поделиться

4 ответа

Лучше всего AJAX используется для отправки небольших данных. Вот простой пример.

Я загружаю страницу, содержащую информацию о запасах. В нем есть графики, диаграммы, информация о компании, а также отображается цена акций. Каждые 30 секунд я делаю запрос AJAX, который получает обновленную стоимость акций и изменяет ее на странице.

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

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

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

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

8
ответ дан 3 December 2019 в 17:20
поделиться

PRO:

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

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

Использование Ajax может уменьшить количество подключений к серверу, поскольку скрипты и таблицы стилей нужно запрашивать только один раз. [12]

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

ПРОТИВ:

> Из-за своей динамической природы интерфейсы Ajax часто труднее разрабатывать по сравнению со статическими страницами.

Страницы, динамически созданные с использованием последовательных запросов Ajax, не регистрируются автоматически в механизме истории браузера, поэтому нажатие кнопки браузера «Назад» может не вернуть пользователя к более раннему состоянию страницы с поддержкой Ajax, а вместо этого может вернуть их. до последней полной страницы, посещенной перед ней. Обходные пути включают использование невидимых IF-фреймов для запуска изменений в истории браузера и изменение части привязки URL-адреса (после #) при запуске Ajax и отслеживание изменений.

Динамические обновления веб-страниц также затрудняют для пользователя создание закладок для определенного состояния приложения. Существуют решения этой проблемы, многие из которых используют идентификатор фрагмента URL-адреса (часть URL-адреса после символа «#»), чтобы отслеживать и позволять пользователям возвращаться к приложению в заданном состоянии.

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

Любой пользователь, чей браузер не поддерживает JavaScript или XMLHttpRequest или просто отключил эту функцию, не сможет правильно использовать страницы, зависящие от Ajax. Точно так же такие устройства, как мобильные телефоны, КПК и программы чтения с экрана, могут не поддерживать требуемые технологии. Программы чтения с экрана, которые могут использовать Ajax, по-прежнему не могут правильно читать динамически сгенерированный контент. Единственный способ позволить пользователю выполнять функциональные возможности - это вернуться к методам, отличным от JavaScript. Этого можно добиться, убедившись, что ссылки и формы можно разрешить должным образом и не полагаться только на Ajax. В JavaScript отправка формы может быть остановлена ​​с помощью «return false».

Одна и та же политика происхождения предотвращает использование некоторых методов Ajax в разных доменах, хотя W3C имеет черновик объекта XMLHttpRequest, который включит эту функцию.

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

Интерфейсы на базе Ajax могут значительно увеличить количество пользовательских запросов к веб-серверам и их внутренним компонентам (базам данных или другим). Это может привести к увеличению времени отклика и / или потребностям в дополнительном оборудовании.

wikipedia.org

8
ответ дан 3 December 2019 в 17:20
поделиться

Что ж, у jAndy, похоже, есть все преимущества, и вы, кажется, уже знаете о преимуществах, иначе вы бы не воспользовались им.

Обратной стороной является то, что кнопка "Назад" в браузере не работает, если вы загружаете страницы целиком (да, это тоже можно исправить с помощью дополнительных JS-мастеров). Но если весь ваш сайт использует ajax, он, вероятно, не будет работать с отключенным JS. Кроме того, он не создает очень хороших URL-адресов. Если вы хотите связать своего друга с определенной страницей на сайте, интенсивно использующем ajax, и предполагая, что вы выполнили свое мастерство JS, так что это действительно возможно (изменение URL-адреса после символа #), ему все равно придется загрузить основной сначала страницу, а затем подождите, пока JS запустится, прежде чем он сможет ajax-загрузку контента, который вас действительно интересует. Я считаю, что это на самом деле дает более медленное воспринимаемое время отклика, что мне не нравится вообще. Я люблю ajax, но не люблю его для полностраничных материалов.

5
ответ дан 3 December 2019 в 17:20
поделиться

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

+ ve

  1. Нет проблем с кроссбраузерностью
  2. Вы можете быть уверены, что хороший разработчик потратил время и силы на создание библиотеки.
  3. Вы можете больше сосредоточиться на реальной проблеме, а не на побочных эффектах
  4. API хороши . Если кто-то сообщает разработчику пользовательского интерфейса, что ajax, HTTP, JavaScrtip bla bla bla ........ OFFFF простая функция всегда хороша Ajax.call (url, callbackfunction, param). Это все, что мы ищем в большинстве случаев.
  5. Отличная экономия времени :), и вы можете наслаждаться вечеринками без ночной работы

-ve

  1. Вы будете играть на гладкой поверхности и спасать кожу от головных болей, которые полезны для нас, инженеров-программистов
  2. Если вы используйте какой-нибудь профилировщик, вы найдете несколько десятков вызовов, сделанных внутри этой функции для выполнения действий с использованием библиотеки, которая потребляет несколько МИЛЛИСЕСКУНД. но это не так уж важно, учитывая время, которое мы сэкономили во время разработки
  3. . Вы должны доверять библиотеке в том, что они говорят. Поэтому я предлагаю придерживаться только хороших. И да, ты пользуешься одной из лучших

Надежд, которая помогла,

2
ответ дан 3 December 2019 в 17:20
поделиться
Другие вопросы по тегам:

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