Обычные гиперссылки в HTML отправляются с GET-запросами и не должны изменять состояние ресурса, к которому осуществляется доступ. Это известно как идемпотент . Вы можете повторять запрос снова и снова, и результат каждого последующего запроса на тот же URL-адрес совпадает с первым.
POST-запросы не имеют этого ограничения и предназначены для случаев, когда пользователю необходимо что-то изменить (например, создать новый ресурс).
Невозможно отправить запрос POST по обычной HTML-ссылке. И даже если вы найдете способ, он нарушает почти универсальные ожидания, которые есть у веб-пользователей. Что вы пытаетесь достичь? Может быть, есть лучший способ.
Но чтобы ответить на ваш вопрос, вы можете использовать что-то вроде jQuery , чтобы захватить событие "click" и заставить его выполнить запрос POST:
$('.my-link').click(function() {
var url = $(this).attr('href');
var data = {};
$.post(url, data, function() {
window.alert('success!');
});
return false;
});
Если в вашем URL есть какие-либо параметры запроса, например, "? Foo = bar & baz = bum", то вам, вероятно, потребуется удалить их из URL-адреса и передать их в качестве второго параметра в $. Post ( ) функция . Это оставлено в качестве упражнения для читателя. ; -)