【问题标题】:Open Window.open() With POST Data and get data with PHP使用 POST 数据打开 Window.open() 并使用 PHP 获取数据
【发布时间】:2017-03-24 06:24:40
【问题描述】:

我有用户名和密码的表格。当我点击提交按钮时,用户名和密码将传递到另一个页面并打开新窗口。

我知道我会像这样通过 GET 请求传递这些数据

window.open('url.php?unm=username&pass=password','_blank');

但在我的情况下,我不想在 url 中显示数据。我想使用 POST 方法来获取 url.php 页面中的数据。

那么如何做到这一点。请帮助..感谢您的进步

下面我使用的代码:

$.post("url.php?unm=username&pass=password",function(data){
    $("#form").hide();
});

【问题讨论】:

  • 你应该从$.post()上的手册开始。
  • 我知道 $.post 方法。在我的情况下,我必须使用 $.post 或 $.ajax() 才能使用
  • 为什么不把它们放在一个表格里呢?带有动作 url.php 的表单并输入 post。
  • 你应该检查它接受什么参数。

标签: php jquery


【解决方案1】:

你需要先提交表单,然后打开新窗口

<form id="Form" method="post" action="url.php" target="TheWindow">
<input type="hidden" name="unm" value="" />
<input type="hidden" name="pass" value="" />
</form>
<script>
function Post(name,password) {
  var f = document.getElementById('Form');
  f.unm.value = name;
  f.pass.value = password;
  window.open('', 'TheWindow');
  f.submit();
} 
Post("username","password");
</script>

【讨论】:

  • 目标可能需要是_new,不确定是否这样。
【解决方案2】:

您可以通过 Javascript 执行此操作。请参见下面的示例。Source

var redirect = function(url, method) {
    var form = document.createElement('form');
    form.method = method;
    form.action = url;
    form.submit();
};

redirect('http://www.example.com', 'post');

【讨论】:

  • 这不会将数据传递给 url.php 文件。
  • @SachinSanchaniya 可能是this 可以帮忙
【解决方案3】:
<form action="url.php" type="post">
    <input type="hidden" value="username" name="unm">
    <input type="hidden" value="password" name="pass">
    <button type="submit">
</form>

你可以像

一样从 url.php 中获取数据

$username = $_POST['unm']; $password = $_POST['pass'];

【讨论】:

    【解决方案4】:

    请试试这个。

    <script>
    $(document).ready(function(){
        $("button[name='loginBtn']").click(function(){
            $('#frm_RegisteredForm').attr('action','test.php');
            $('#frm_RegisteredForm').submit();
        });
    });
    </script>
    
    <form name="frm_RegisteredForm" id="frm_RegisteredForm" action="javascript:void(0);" autocomplete="off" method="post"  target='_blank'>
        <input type="text" name="password" id="password" value="" />
        <input type="text" name="username" id="username" value="" /> 
        <button type="button"  name="loginBtn" id="loginBtn" value="Add" accesskey="a">login</button>
    </form>
    

    在这里,我从 java 脚本 IE 提交我的表单,我使用的是 jQuery。要打开新页面,我只是在表单标签中将表单的目标指定为空白。尝试这个。这也对你有用。这对我来说是有效的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多