- Реализовывать синхронные/асинхронные запросы в веб-приложении
Мы попрактикуемся в превращении Express-приложения в Express+AJAX приложение. А именно, имея на входе приложение, которое перезагружает страницу каждый раз, когда пользователь отправляет форму, мы получим на выходе приложение, просто перезагружающее часть DOM, которая должна поменяться.
Скачайте приложение и запустите его. Приложение работает корректно даже без AJAX. Убедитесь, что вы понимаете, как оно работает перед тем, как перейти к следующему шагу.
Прежде чем начинать писать код, вы должны полностью понимать, как работает приложение и использовать это понимание, чтобы определить, какие части кода нужно переписать. В частности:
- Что случается, когда вы нажимаете на кнопку "Roll the Dice"?
- Что должно произойти вместо этого?
- Нужно ли менять что-нибудь в Express-routes?
- Куда нужно поместить JavaScript код, который обрабатывает AJAX и DOM?
Следующие вопросы помогут вам сориентироваться:
- Как можно перехватить событие отправки формы?
- Как мы можем отменить действие по умолчанию при отправке формы?
- Как мы совершаем AJAX post-запрос?
- Что нужно отправить в аргументах
url
? Что насчетtype
? (Подсказка: у HTML элемента формы это есть!) - Как мы передаем данные на сервер при совершении AJAX запроса?
- Когда сервер отвечает, какой код запускается? Как мы получаем доступ к данным которые присылает сервер в ответ?
Если вы не можете ответить на эти вопросы, то у вас могут возникнуть трудности. Не торопитесь, используйте Google, и подумайте над всеми вопросами!