Faire href (balise d'ancrage) requête POST au lieu de GET? [dupliquer]

cette question a déjà une réponse ici:

  • Faire un lien utiliser le POST au lieu de GET 9 réponses
<a href="employee.action" id="employeeLink">Employee1</a>

quand je clique sur le lien Employee1, la requête GET va au serveur. Je veux que ce soit POST plutôt que demande. Y a-t-il un moyen de modifier le comportement GET par défaut? de href?

Note: - je sais qu'il peut être fait où nous pouvons appeler la fonction javascript sur hyperlink , puis créer le formulaire et le soumettre. Mais je cherche où nous pouvons mentionner un attribut dans anchor tag pour faire la requête POST au lieu de la requête GET?

24
demandé sur emilly 2014-01-03 18:39:44

2 réponses

L'utilisation de jQuery est très simple en supposant que L'URL que vous souhaitez publier est sur le même serveur ou a mis en œuvre CORS

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

si vous insistez sur l'utilisation de cadres que je déconseille fortement, avoir un formulaire et le soumettre avec le lien

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

et utilisation (en nature)

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

Sans formulaire il faut en faire un

 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
   }
 }
22
répondu mplungjan 2014-01-03 17:28:58

À faire POST vous aurez besoin d'avoir un forme .

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

il y a plusieurs façons de poster des données avec des hyperliens, mais vous aurez besoin de javascript, et un formulaire.

quelques astuces: créez un lien utilisez POST au lieu de GET et comment publiez-vous des données avec un lien

Modifier: pour charger la réponse sur un cadre, vous pouvez cibler votre forme à votre image:

<form action="employee.action" method="post" target="myFrame">
9
répondu rkawano 2017-05-23 12:25:30