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

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

2017-08-04 09:53 344 查看
在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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  javascript html 表单