jquery $ .post数据从弹出窗口弹出窗口

时间:2017-04-27 11:57:27

标签: php jquery post

我试图从使用window.open方法打开的弹出窗口将数据发布到新窗口(使用window.open)。我尝试做的是将选定的选项值传递给新打开的窗口并使用$ _POST加载数据。

这是我尝试的内容:

$(document).on('click', '.openForm', function()
{
    var select = $(this).data('select'),
        val    = $('#'+ select).val();

    $.post('/path/to/page.php', {id: val}, function(res)
    {
        window.open('/path/to/page.php');
    });
});

当前page.php的var_dump为$ _POST,返回空。它还会在新选项卡中打开页面而不是新窗口 - 我认为这与打开窗口的唯一名称有关吗?

我不知道如何获得它所以$ .post可以发布到同一页面并使用发送的数据打开它 - 您知道哪些链接或解决方案可以工作?

谢谢:)

1 个答案:

答案 0 :(得分:2)

像这样修改你的脚本:

 <script type="text/javascript">
$(document).on('click', '.openForm', function()
{
    var select = $(this).data('select'),
        val    = $('#'+ select).val();


    $.post('/path/to/page.php', {id: val}, function(res)
    {
        console.log(res);

        var myWindow = window.open("", "MyWindow", "width=600,height=600");
        myWindow.document.write(res);
        //window.open('test_json.php',1,'width=600, height=600');
    });
});

</script>

1)$ _POST的var_dump返回空。因为您的请求$.post('/path/to/page.php')window.open('/path/to/page.php');都不同。第1次作为帖子处理,完成后window.open('/path/to/page.php');将会出现get请求。

2)要在新标签页中打开窗口,必须在window.open()方法中将其宽度和高度作为第3个参数传递。