window.open以POST方式打开新窗口

主要是以下两个原因:

1)后面的参数太长,需要传输大量数据,而浏览器对url长度是有限制的;

2)涉及到一些敏感数据,不想直接暴露出来;

所以我们可以借用表单来提交数据,首先用window.open()来创建一个空的页面,然后动态创建一个表单,将要传递的数据,填充到这个表单中,把这个表单插入到这个空页面中,最后自动提交表单,跳转到我们指定的页面。

        

function openPostWindow(url, params) {
      
    var newWin = window.open(),
          formStr = '';
     //设置样式为隐藏,打开新标签再跳转页面前,如果有可现实的表单选项,用户会看到表单内容数据
     formStr = '

' +
          '' +
          '
';

   newWin.document.body.innerHTML = formStr;
   newWin.document.forms[0].submit();
   
   return newWin;
}

你可能感兴趣的:(window.open以POST方式打开新窗口)