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的主要内容,如果未能解决你的问题,请参考以下文章