Ответ 1
Этот вопрос немного сложный, потому что он объединяет два понятия. Первый - POSTing, второй - Ajax. POSTing, по сравнению с GETting, представляет собой другой метод HTTP с различной реализацией и семантикой. Ajax или XmlHttpRequest имеет свой аналог в обычном запросе/навигации. Вы можете использовать POST или GET для XmlHttpRequest и обычной навигации и отправки формы (ну, POST всегда является "отправкой формы" ). Разница между XmlHttpRequest и обычными запросами заключается в том, что обычный запрос заменяет страницу новой страницей.
Вы можете написать практически любой веб-сайт, используя только Ajax для получения данных и изменения DOM; в основном, как работает Gmail. В традиционном смысле нет "представлений о форме". Но есть еще GET и POST, потому что сервер и браузеры интерпретируют результаты по-разному. Предполагается, что GET является идемпотентным; POST предназначен для операций, которые изменяют состояние на сервере. Например, транзакция ecom должна быть POST. Это не изменяется при использовании Ajax, потому что вы хотите, чтобы прокси-серверы также понимали, что это POST, и что они не должны пытаться кэшировать ответ.
Есть также преимущества и недостатки использования GET vs POST. Вы не можете добавлять в закладки результаты POST, поскольку параметры скрыты. Вы не можете получить что-то с значениями параметров неограниченной длины, поскольку IE поддерживает только около 2000 символов.
Также есть недостатки в использовании Ajax против обычных представлений; вы не можете пометить результирующую страницу (потому что страница не изменилась); кнопка назад не будет работать должным образом. Но с Ajax вы можете свести к минимуму переданные данные, а также обеспечить удобные обновления страницы (например, отслеживать состояние длительного процесса) без раздражающего мерцания или обновления.
Таким образом, два типа запросов, Ajax и традиционная подача формы могут использоваться как с GET, так и с POST, и для каждого есть плюсы и минусы. Ни один из них не может делать все, что может, и поэтому вы можете ожидать увидеть смесь в обозримом будущем.