jquery在选项卡中打开页面并传递一些POST值

mic*_*ele 27 javascript jquery

如何在新窗口中打开一个php页面并传入一些POST变量?我正在使用jquery.

谢谢.

M. *_*her 35

我建议在HTML中创建一个不可见的表单,如下所示:

<form id="invisible_form" action="new_window.php" method="post" target="_blank">
  <input id="new_window_parameter_1" name="parameter" type="hidden" value="default">
</form>
Run Code Online (Sandbox Code Playgroud)

..然后通过jQuery提交它:

$('#new_window_parameter_1').val('value');
$('#invisible_form').submit();
Run Code Online (Sandbox Code Playgroud)

  • 有什么方法可以在不引入表格的情况下做到这一点? (2认同)

And*_*ron 24

以下是如何通过POST提交隐藏表单的示例:

function submit_post_via_hidden_form(url, params) {
    var f = $("<form target='_blank' method='POST' style='display:none;'></form>").attr({
        action: url
    }).appendTo(document.body);

    for (var i in params) {
        if (params.hasOwnProperty(i)) {
            $('<input type="hidden" />').attr({
                name: i,
                value: params[i]
            }).appendTo(f);
        }
    }

    f.submit();

    f.remove();
}
Run Code Online (Sandbox Code Playgroud)

并使用它:

submit_post_via_hidden_form(
    'some link',
    {
        val1: val1,
        val2: val2
    }
);
Run Code Online (Sandbox Code Playgroud)