Каковы преимущества и недостатки создания ajax-вызовов с использованием jquery?

Как jquery ajax calls делает жизнь действительно классной без обновления страницы... Но все же интересно узнать некоторые преимущества и недостатки создания ajax-вызовов с помощью jquery....

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

Ответ 1

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

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

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

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

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

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

Ответ 2

PRO:

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

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

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

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

CON:

<Р → Благодаря их динамическому характеру интерфейсы Ajax часто сложнее разрабатывать по сравнению со статическими страницами. Страницы, динамически создаваемые с использованием последовательных запросов Ajax, автоматически не регистрируются в браузере, поэтому нажатие кнопки "назад" браузера не может вернуть пользователя в более раннее состояние страницы с поддержкой Ajax, но может вместо этого вернуть их до последней полной страницы, которую посетили перед ней. Методы обхода включают использование невидимых IFrames для инициирования изменений в истории браузера и изменения привязки части URL-адреса (после #) при запуске Ajax и отслеживании изменений.

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

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

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

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

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

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

wikipedia.org

Ответ 3

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

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

Ответ 4

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

+ в

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

-ve

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

Надеюсь, что это помогло,