Почему существует <a>, а не отправка формы методом get?

Мне просто любопытно, почему в HTML есть тег привязки, используемый для предварительной обработки GET-запросов, в частности, без возможности изменить тип HTTP-запроса, или иначе почему бы не использовать соглашение о представлении формы, поскольку у нас может быть возможность получить переменные в любом случае.

Более интересно то, как якорные теги ссылаются на разделы #id на той же странице.

Есть ли веская причина, или это просто догматический остаток?

Изменить: я не спрашиваю о том, что они делают, я ставлю под сомнение соглашение о тегах привязки и представления формы.

Почему это не элемент HTTP-запроса, который охватывает эти базы и по умолчанию используется как GET, поэтому он работает со ссылкой? Почему было принято решение об этой конвенции? Я говорю, что это звучит безумно для меня, и я хочу знать, есть ли какое-либо оправдание, когда это было решено.

3 ответа

Якорь связывает два документа или части документов, то есть текущий и ссылочный. Но форма не делает. Форма для отправки запросов. Вот и все.

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

POST для форм и вложенных файлов. GET ограничен в размерах, POST - нет.

Более интересно то, как якорные теги ссылаются на разделы #id на той же странице.

Есть ли веская причина, или это просто догматический остаток?

Нет, URL-адреса хеширования по-прежнему полезны и являются хорошим не-javascript запасным вариантом для навигации по страницам. Хэш-URL-адреса теперь переходят на следующий уровень, чтобы поддерживать состояние и закладки страниц на основе AJAX.

<a> тег используется для перехода с одной страницы на другую, для чего требуются только запросы GET. И потому, что URL-адреса поддерживают возможность отправки переменных (например, ?a=b) абсолютно нет необходимости в более сложном теге.

Очевидно, что <a> тег является встроенным элементом, а <form> тег является блочным элементом. Таким образом, можно сделать вывод, что теги привязки должны быть простыми, в то время как элементы формы могут быть немного более сложными.

Другие вопросы по тегам