POST по сравнению с вызовом Ajax

Для Android, если вы используете OkHttp в своем проекте. Вы можете взглянуть на это. Это просто и полезно.

final HttpUrl url = HttpUrl.parse(query);
if (url != null) {
    final String target = url.queryParameter("target");
    final String id = url.queryParameter("id");
}

13
задан Chris S 23 January 2009 в 14:20
поделиться

7 ответов

Этот вопрос немного хитер, потому что он объединяет два понятия. Первое ОТПРАВЛЯЕТ, и вторым является Ajax. РЕГИСТРАЦИЯ, по сравнению с Получением, является другим методом HTTP с другой реализацией и семантикой. Ajax или XmlHttpRequest, имеет свой дубликат в нормальном запросе/навигации. Можно использовать POST или ДОБРАТЬСЯ и для XmlHttpRequest и для нормальной навигации и сформировать представление (хорошо, POST всегда является "представлением формы"). Различие между XmlHttpRequest и нормальными запросами - то, что нормальный запрос заменяет страницу новой страницей.

Вы могли записать примерно любой веб-сайт с помощью только Ajax, чтобы получить данные и изменить DOM; это главным образом, как Gmail работает. Нет никаких "представлений формы" в традиционном смысле. Но существуют, все еще ПОЛУЧАЕТ и ОТПРАВЛЯЕТ, потому что сервер и браузеры интерпретируют результаты по-другому. ДОБЕРИТЕСЬ, как предполагается, идемпотент; POST предназначен для операций, которые изменяют состояние на сервере. Например, ecom транзакцией должен быть POST. Это не изменяется при использовании Ajax, потому что Вы хотите, чтобы прокси-серверы также поняли, что это - POST и что они не должны пытаться кэшировать ответ.

существуют также преимущества, и недостатки к использованию ДОБИРАЮТСЯ по сравнению с POST. Вы не можете отметить результаты POST, потому что параметры скрыты. Вы не можете ПОЛУЧИТЬ что-то со значениями параметров неограниченной длины, потому что IE только поддерживает приблизительно 2 000 символов.

Также существуют недостатки к использованию Ajax по сравнению с нормальными представлениями; Вы не можете отметить получающуюся страницу (потому что страница не изменилась); кнопка "Назад" не будет работать как ожидалось. Но с Ajax Вы могли минимизировать переданные данные и также обеспечить удобные обновления страницы (такие как контроль состояния долгого процесса) без раздражающего мерцания или обновления.

, Таким образом, два типа запроса, Ajax и традиционное представление формы, могут и использоваться с, ПОЛУЧАЕТ и ОТПРАВЛЯЕТ, и существуют за и против для каждого. Никакой тип не может сделать все другая банка и таким образом, можно ожидать видеть соединение для обозримого будущего.

21
ответ дан 1 December 2019 в 07:19
поделиться

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

13
ответ дан 1 December 2019 в 07:19
поделиться

Если бы необходимо обновить всю страницу, сообщение, вероятно, было бы легче.

2
ответ дан 1 December 2019 в 07:19
поделиться

Er.. регистрация форм?

Сообщение действительно хорошо для больших форм, поскольку значения скрыты в заголовках HTML и не прикреплены на строку URL?

0
ответ дан 1 December 2019 в 07:19
поделиться

Ключевой дифференциатор - то, что POST формы отправляет данные и может перейти к новому URL в единственном распространении в прямом и обратном направлениях к серверу. Ajax может отправить данные, но не может перейти к новой странице.

1
ответ дан 1 December 2019 в 07:19
поделиться

Если теория, HTTP ДОБИРАЕТСЯ, должен быть идемпотентный запрос информации: Два идентичных ДОБИРАЮТСЯ, должен возвратить ту же самую информацию.

СООБЩЕНИЯ HTTP, с другой стороны, предназначаются, чтобы содержать состояние и выполнить действия: Два идентичных СООБЩЕНИЯ, возможно, выполняют другое действие в зависимости от того, кто, делая его, что было сделано прежде, и когда это делается.

0
ответ дан 1 December 2019 в 07:19
поделиться

Я собираюсь ответить на свой собственный вопрос с это видео , я недавно споткнулся через Doug Crockford. Он описывает возвратно-поступательное между всем ajax и всеми обновлениями страницы.

0
ответ дан 1 December 2019 в 07:19
поделиться
Другие вопросы по тегам:

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