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

   在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:别输给曾经的自己

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值