window.open怎样使用POST方式打开新窗口
我们都知道,window.open()传入url打开的新窗口是以GET请求的方式,这样当我们遇到以下问题时就需要采用POST的方式提交数据了。
- 后面的参数太长,需要传输大量数据,而浏览器对url长度是有限制的;
- 涉及到一些敏感数据,不想直接暴露出来
解决思路
所以我们可以借用表单来提交数据,首先用window.open()来创建一个空的页面,然后动态创建一个表单,将要传递的数据,填充到这个表单中,把这个表单插入到这个空页面中,最后自动提交表单,跳转到我们指定的页面。
直接上代码展示
//用window.open()来创建一个空的页面
var newWin = window.open();
//为兼容火狐和谷歌,表单action中的请求需要window.location.origin,但是window.location.origin在IE下不兼容为und