在下面的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>
答案 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())来操纵执行流程。