手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >window.open()实现post传递参数
window.open()实现post传递参数
摘要:在实际项目中,常常遇到这样的需求,即实现子系统页面之间跳转并在新的页面打开,我所在项目组使用的是SSH框架,所以url均为类似****.ac...

在实际项目中,常常遇到这样的需求,即实现子系统页面之间跳转并在新的页面打开,我所在项目组使用的是SSH框架,所以url均为类似****.action,同时还带有两参数(系统ID与系统名称),两个参数被struts拦截后存入session中,在打开的子系统页面中还有个ztree插件实现的树状菜单需要参数系统ID才能初始化,直接使用window.open(url,"_blank"),会使得url长度过长,同时还暴露一些参数。故想改用post方式提交,隐藏提交过程中参数的传递。首先想到ajax提交,但是两个参数的传递会存在问题,ajax提交与window.open()会使得action走两遍,因此舍去。后又重新认真看了window.open()的API,链接地址http://www.w3school.com.cn/jsref/met_win_open.asp。window.open()默认是get提交方式,想要实现post提交方式,还得另想它法。参考http://www.jb51.net/article/32826.htm,这里介绍了一种方法。也是常被采用的方法。我根据实际情况略作修改:

复制代码 代码如下:

function openPostWindow(url, name, data1, data2){

var tempForm = document.createElement("form");

tempForm.id = "tempForm1";

tempForm.method = "post";

tempForm.action = url;

tempForm.target=name;

var hideInput1 = document.createElement("input");

hideInput1.type = "hidden";

hideInput1.name="xtid";

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);

}

//function openWindow(name){

// window.open("",name);

//}

openPostWindow()函数中的参数个数根据实际需要自行修改。data1与data2为action需要传递的参数。此外,此处还需考虑Javascript事件浏览器兼容问题。我这里注释了function openWindow(),不然会多打开一个空白页面(about:blank)。这样基本满足需求了。

以上就是本文分享的全部内容了,希望大家能够喜欢。

【window.open()实现post传递参数】相关文章:

javascript实现动态改变层大小的方法

jQuery实现文本展开收缩特效

JavaScript实现Flash炫光波动特效

javascript实现Table排序的方法

javascript实现链接单选效果

JavaScript实现简单的数字倒计时

javascript实现树形菜单的方法

JavaScript实现列表分页功能特效

js实现仿Windows风格选项卡和按钮效果

javascript实现十秒钟后注册按钮可点击的方法

精品推荐
分类导航