Когда использовать асинхронный или синхронный AJAX
Обычно лучше использовать запросы в асинхронном режиме.

AJAX (от английского Asynchronous Javascript And Xml – асинхронный JavaScript и XML) – технология, которая позволяет асинхронно обновлять веб-страницы. Благодаря чему браузеру не нужно перезагружать всю страницу, когда изменился только небольшой объем данных, представленных на ней. AJAX передает на сервер и с сервера только обновленную информацию.
Стандартные веб-приложения обрабатывают взаимодействия, происходящие между посетителями и сервером, синхронно. Действия происходят поочередно, потому что сервер не обладает многозадачностью. Если нажать кнопку, сообщение отправляется на сервер, а оттуда приходит ответ. И пока ответ не будет получен, пользователь не сможет взаимодействовать с другими элементами страницы.
Естественно, такая задержка негативно влияет на пользовательский опыт. Чтобы исправить это, необходимо использовать AJAX.
Что такое AJAX?
AJAX ‒ это подход к реализации, включающий в себя клиентский скрипт (запускается в браузере), который обменивается данными с веб-сервером.
AJAX- приложение для отправки данных может использовать XML, простой текст или JSON. Но в целом браузер использует объект XMLHttpRequest для запроса данных с сервера, а JavaScript – для отображения данных.
AJAX: синхронный или асинхронный
AJAX может отправлять запросы на сервер синхронно и асинхронно:
- Синхронно: скрипт останавливается и ждет, пока сервер отправит ответ, прежде чем продолжить.
- Асинхронно: скрипт разрешает обработку страницы и обрабатывает ответ, когда и если он придет.
Синхронная обработка запроса аналогична повторной загрузке страницы. Но вместо всей веб-страницы загружается только запрошенная информация. При этом пользователю все равно придется ждать окончания загрузки, чтобы снова взаимодействовать со страницей.
Асинхронная обработка запроса позволяет избежать задержки в работе с сайтом. Пользователю не нужно ждать ответа с сервера, и он может продолжать выполнять различные действия на странице.
Запрошенная информация будет обработана в фоновом режиме, и ответ сервера обновит страницу, когда она поступит. Если произойдет задержка ответа, то пользователи этого даже не заметят, так как они будут заняты взаимодействием с другой частью страницы. Поэтому лучше использовать асинхронные запросы.
Зачем использовать синхронный AJAX?
Бывают ситуации, когда нельзя разрешать посетителю продолжать взаимодействие с веб-страницей пока не завершится конкретный процесс на стороне сервера.
В подобных случаях лучше е не использовать AJAX, а просто перезагрузить всю страницу. Синхронная загрузка в AJAX используется, когда нет возможности использовать асинхронный вызов, но перезагрузка всей страницы не требуется. Например, при обработке транзакций. И при этом важно, в каком порядке они будут обработаны. Или если после нажатия кнопки пользователя необходимо перенаправить на страницу подтверждения. Данная задача требует синхронизации запросов.