最近在做web项目,碰到需要跨页面传递参数的功能,就是那种需要把当前页面的内容带到新开的子窗体中。采用js中window.open()方法请求子页面或刷新父页面信息,仅支持以get的方式传递,把需要的内容或参数全部序列化,然后通过url去传,显得url很臃肿,而且get的传递内容长度有限制。

在web项目开发中,考虑数据的安全性及传递内容的体量,通常会倾向于采用post的方式传递参数。问题在于open方法不能设置请求方式,一般网页的post都是通过form来实现的。如果仅仅模拟form的提交方式,那么open方法里那种可设置窗体属性的参数又不能用。

最后通过查阅相关资料及借鉴js其他的功能,逐渐实现window.open()与post相结合的功能:将form的target设置成和open的name参数一样的值,通过浏览器自动识别实现了将内容post到新窗口中。

2018年01月23日 教程整理
阅读更多...