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

Posted techno-geek

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
     });                         

 

以上是关于javaScript使用post方式代替window.location.href的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript基础

如何在 Javascript 中使用路由

JavaScript 监听移动端横竖屏状态的几种方式

JavaScript 监听移动端横竖屏状态的几种方式

tcping端口检测工具使用

学习aiax(javascript)--省份-城市二级下拉联动(POST方式)