码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2019-03-05 16:57:24      阅读:1394      评论:0      收藏:0      [点我收藏+]

标签:path   cti   传参数   orm   提交表单   封装   isp   method   pen   

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

标签:path   cti   传参数   orm   提交表单   封装   isp   method   pen   

原文地址:https://www.cnblogs.com/easyunion/p/10477854.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!