javaScript使用post方式代替window.location.href

window.location.href可以简单粗暴的实现文件下载,Excel导出等。。。但是该方式传参数有着太多不安全因素,例如:将一些重要信息暴露给地址栏亦或者是由于参数过长导致无法访问等等。

以下是使用post代替window.location.href的实现,大体思路是将参数封装成一个隐藏的Form,然后form.submit()的方式来提交

 

/**
 * @author lwh
 * @param {} url
 * @param {} params
 */
function mypost(url, params) { 
    // 创建form
    var temp_form = document.createElement("form");
    // 设置form
    temp_form .action = url;      
    temp_form .target = "_self";
    temp_form .method = "post";      
    temp_form .style.display = "none";
    // 处理需要传递的参数 
    for (var x in params) { 
        var opt = document.createElement("textarea");      
        opt.name = x;      
        opt.value = params[x];      
        temp_form .appendChild(opt);      
    }      
    document.body.appendChild(temp_form);
    // 提交表单      
    temp_form .submit();     
} 

 

 

var  url=contextPath+"xxxxxx.action";
     mypost(url,{
	 param1:value1,
         param2:value2,
         ......
         paramN:valueN
     });    

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值