您的位置:首页 > Web前端 > HTML

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

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

一:增加一个form表单

<span style="font-family:SimSun;font-size:18px;"><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

<span style="font-family:SimSun;font-size:18px;"><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>


Author:顾故

Sign:别输给曾经的自己
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: