js 用 window.open()方法跳转到新页面并且用post方式传参
2016-10-24 11:13
477 查看
今天开发一个功能,需要从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);
}
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);
}
相关文章推荐
- js onclick跳转页面方法(window.open)
- js 中实现页面跳转的方法(window.location和window.open的区别)
- 关于 第三方接口支付的时候 采用post提交的方式,有两种 一种是通过 curl来进行,一种是通过js当页面加载完后跳转
- js 进行post方式页面跳转
- js用POST方式页面跳转,避免在地址栏中显示传递参数
- JS中用window.open()方式打开,使新页面全屏、居中的代码
- Js window Open页面间传值方法
- JS 利用window.open实现post方式的参数传递
- js实现页面跳转的几种方式
- js实现页面跳转的几种方式
- 水滴石穿之页面遮罩层实现、向window.open()打开的窗口POST数据
- ASP.NET页面中window.open方法对history对象的影响及解决
- js实现页面跳转的几种方式
- js实现页面跳转的几种方式
- js实现页面跳转的几种方式
- JavaScript/js自动刷新页面方法总结和页面跳转
- js实现页面跳转的几种方式
- js实现页面跳转的几种方式
- js实现页面跳转的几种方式
- js实现页面跳转的几种方式