HTML怎样使用a标签以post方式提交

2021-03-01 10:56:02 浏览数 (1)

在HTML中,a标签的提交默认是get方式提交的,如果在请求链接的参数中带有中文就会出现乱码问题,除了在后台程序中转码外,这里介绍两种简单的方法,可以在客户端让a标签以post方式提交。 一:增加一个form表单

代码语言:javascript复制
<span ><body> 
<a href="javascript:doPost("addStudent.action", {"name":"张三"})">提交</a>

<script> 
function doPost(to, p) { // to:提交动作(action),p:参数 
var myForm = document.createElement("form"); 
myForm.method = "post"; 
myForm.action = to; 
for (var i in p){ 
var myInput = document.createElement("input"); 
myInput.setAttribute("name", i); // 为input对象设置name 
myInput.setAttribute("value", p[i]); // 为input对象设置value 
myForm.appendChild(myInput); 
} 
document.body.appendChild(myForm); 
myForm.submit(); 
document.body.removeChild(myForm); // 提交后移除创建的form 
} 
</script> 
</body></span>

二:使用Ajax

代码语言:javascript复制
<span ><body> 
<a href="addStudent.action" class="a_post">提交</a>

<script> 
$(".a_post").on("click",function(event){ 
event.preventDefault(); // 使a自带的方法失效,即无法向addStudent.action发出请求 
$.ajax({ 
type: "POST", // 使用post方式 
url: "addStudent.action", 
contentType:"application/json", 
data: JSON.stringify({param1:value1, param2:value2}), // 参数列表,stringify()方法用于将JS对象序列化为json字符串 
dataType:"json", 
success: function(result){ 
// 请求成功后的操作 
}, 
error: function(result){ 
// 请求失败后的操作 
} 
}); 
}); 
</script> 
</body></span>

0 人点赞