在html中用超链接a标签怎么进行post数据传输

如题所述

第1个回答  2022-11-16

一:增加一个form表单 

<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 

<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>

扩展资料:

POST优点: 

1、安全性高,但是也不是很高,如果想要高安全性的话就用https传输协议。 

2、上传的数据量比GET大得多。“理论上讲,POST是没有大小限制的,HTTP协议规范也没有进行大小限制,说“POST数据量存在 80K/100K的大小限制”是不准确的,POST数据是没有限制的,起限制作用的是服务器的处理程序的处理能力。”

POST缺点: 

1、执行效率比GET低,但是现在的计算机都很强大,这些几乎可以忽略不计,所以建议一般都使用POST方式。 

2、不可以通过url传递数据,有时候可能会不方便.