如何在window.open()中发布

Vic*_*tor 8 html javascript post get

当我们这样做时window.open(),是否有指定的选项method = POST?因为默认情况下,它是GET

我想要的是这个.父窗口有一些表单参数(数量很多),应该将它们发送到服务器上window.open().GET使用查询字符串将所有这些内容附加到URL中并不是一个好主意.

Poi*_*nty 14

您可以使用window.open()打开一个带有名称的空窗口.然后,您可以使用<form>带有"target"属性的a引用该新窗口的名称,然后发布它.

编辑确定这是想法.您在页面上有一个表单,可以隐藏它:

<form id='theForm' method='post' action='/your/action' target='TheNewWindow'>
  <input type='hidden' name='param_1' value='whatever'>
</form>
Run Code Online (Sandbox Code Playgroud)

然后你将结果输入窗口,如下所示:

window.open('about:blank', 'TheNewWindow');
document.getElementById('theForm').submit();
Run Code Online (Sandbox Code Playgroud)

确保您使用的窗口名称是有效的标识符(如JavaScript变量名称),否则IE将会感到不安.

是一个jsfiddle.