window.open()实现 post 传递参数
投稿:hebedich 字体:[增加 减小] 类型:转载 时间:2015-03-12 我要评
论
本文主要向大家介绍了如何使用 window.open()实现 post 传递参数的方法,
思路是参考的一位网友的,然后根据自己的项目需求做了些调整,这里同样分
享给大家,希望对大家能够有所帮助。
在实际项目中,常常遇到这样的需求,即实现子系统页面之间跳转并在新的页面打
开,我所在项目组使用的是 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){
444 var tempForm = document.createElement("form");
444 tempForm.id = "tempForm1";
444 tempForm.method = "post";
444 tempForm.action = url;
444 tempForm.target=name;
评论2