将数据发布到页面并同时打开该页面

时间:2017-11-11 17:12:37

标签: javascript php html ajax post

在下面的Javascipt代码中,我将数据发送到名为“book.php”的页面。它通过post方法成功发送数据(因为我收到警报)但是当我打开book.php来显示收到的时候数据,它没有显示任何内容。

$(".navbar-collapse.show").find(".menuIcon").css("color", "red");

Book.php显示输出为空。 有什么办法可以在发送帖子数据时打开同一页面吗?我想把这个$ _POST变量用于sql。

book.php中 -

<script type="text/javascript">
        $(document).on("click", ".open-AddBookDialog2", function (f){
            var train_date=$(this).data('id');
            $.ajax({
            type: 'post', // the method (could be GET btw)
            url: 'book.php', // The file where my php code is
            data: {
                'train_date': train_date // all variables i want to pass. In this case, only one.
            },
            success: function(data) { // in case of success get the output, i named data
                alert("success"); // do something with the output, like an alert

            }

        }); 
        });
    </script>

2 个答案:

答案 0 :(得分:1)

不要使用XHR / Ajax。一个简单的解决方案是创建一个隐藏的<form method="post">元素,为您的数据创建同样隐藏的输入字段(在这种情况下只是train_date)用值填充它,然后使用javascript触发表单提交。然后,您将根据请求重定向浏览器。

示例:

JS:

$(document).on("click", ".open-AddBookDialog2", function (f){
    var train_date=$(this).data('id');
    var hidden_form=$("#hidden-form");
    var hidden_input=$("#hidden-form-input");
    hidden_input.val(train_date)
    hidden_form.submit()
});

HTML:

<form method="post" id="hidden-form" style="display:none" action="book.php">
    <input id="hidden-form-input" name="train_date" />
</form>

答案 1 :(得分:0)

使用ajax将变量发送到php。在php库存中,会话中的变量(搜索,很简单)然后在你的ajax成功中进行重定向:How to redirect to another webpage?。在php中,您现在可以在$ _SESSION中存储var。用它来做你需要的东西,用if(isset())来操纵执行流程。