我试图从使用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可以发布到同一页面并使用发送的数据打开它 - 您知道哪些链接或解决方案可以工作?
谢谢:)
答案 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个参数传递。