js 用 window.open()方法跳转到新页面并且用post方式传参

今天开发一个功能,需要从js跳转到新的页面上去,原先的方式是用

window.open('statistic/hospitalDetailStatisc?opid=' +urlEncode(ipid)); 这种方法当然是可以的 ,但是 这种方法其实是用get方式传递参数的,opid=142 这种参数会在 地址栏显示出来,造成了id泄密,这样做是不安全的,别人可以手动输入新的id去查询他不能查的数据,于是就想到了用post方式来传参数,于是用一下方法,可以实现:


一下函数可以根据自己的实际需要,添加参数个数,我这里只需要用到一个参数,所以,我就只是用了data1。


function openPostWindow(url,data1){

    var tempForm = document.createElement("form");
    tempForm.id = "tempForm1";
    tempForm.method = "post";
    tempForm.action = url;
    tempForm.target="_blank"; //打开新页面
    var hideInput1 = document.createElement("input");
    hideInput1.type = "hidden";
    hideInput1.name="opid"; //后台要接受这个参数来取值
    hideInput1.value = data1; //后台实际取到的值
    /*var hideInput2 = document.createElement("input");
    hideInput2.type = "hidden";
    hideInput2.name="xtmc";
    hideInput2.value = data2;*/  这里就是如果需要第二个参数的时候可以自己再设置

    tempForm.appendChild(hideInput1);
    //tempForm.appendChild(hideInput2);
    if(document.all){
        tempForm.attachEvent("onsubmit",function(){});        //IE
    }else{
        var subObj = tempForm.addEventListener("submit",function(){},false);    //firefox
    }
    document.body.appendChild(tempForm);
    if(document.all){
        tempForm.fireEvent("onsubmit");
    }else{
        tempForm.dispatchEvent(new Event("submit"));
    }
    tempForm.submit();
    document.body.removeChild(tempForm);
}
  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值