Подтвердить что ты не робот

Создание href (anchor tag) запрашивает POST вместо GET?

<a href="employee.action" id="employeeLink">Employee1</a>

когда я нажимаю ссылку Employee1, запрос GET отправляется на сервер. Я хочу сделать это POST вместо запроса GET. Есть ли способ изменить поведение GET по умолчанию для GREF?

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

4b9b3361

Ответ 1

Использование jQuery очень просто, если URL, который вы хотите опубликовать, находится на том же сервере или реализовал CORS

$(function() {
  $("#employeeLink").on("click",function(e) {
    e.preventDefault(); // cancel the link itself
    $.post(this.href,function(data) {
      $("#someContainer").html(data);
    });
  });
});

Если вы настаиваете на использовании фреймов, которые я решительно отвергаю, имейте форму и отправьте ее со ссылкой

<form action="employee.action" method="post" target="myFrame" id="myForm"></form>

и использовать (в простом JS)

 window.onload=function() {
   document.getElementById("employeeLink").onclick=function() {
     document.getElementById("myForm").submit();
     return false; // cancel the actual link
   }
 }

Без формы нам нужно сделать один

 window.onload=function() {
   document.getElementById("employeeLink").onclick=function() {
     var myForm = document.createElement("form");
     myForm.action=this.href;// the href of the link
     myForm.target="myFrame";
     myForm.method="POST";
     myForm.submit();
     return false; // cancel the actual link
   }
 }

Ответ 2

Чтобы выполнить POST, вам понадобится форма.

<form action="employee.action" method="post">
    <input type="submit" value="Employee1" />
</form>

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

Некоторые трюки: Использовать ссылку POST вместо GET и Как вы отправляете данные со ссылкой

Изменить: для загрузки ответа на кадр вы можете настроить таргетинг своей формы на свой кадр:

<form action="employee.action" method="post" target="myFrame">