重工电子论坛

?找回密码
?立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 251|回复: 0
打印 上一主题 下一主题

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

[复制链接]

236

主题

580

帖子

3479

积分

学生管理组

Rank: 8Rank: 8

积分
3479
跳转到指定楼层
楼主
发表于 2019-7-1 00:10:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
今天开发一个功能,需要从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);
}
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|cqutlab ( 渝ICP备15004556号 )?

GMT+8, 2019-10-23 11:57 , Processed in 0.091693 second(s), 28 queries .

Powered by Discuz! X3.1

? 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表