Faire href (balise d'ancrage) requête POST au lieu de GET? [dupliquer]
cette question a déjà une réponse ici:
<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?
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
}
}
À 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">