当我做头部重定向或重定向到页面的其他方法时,我如何使模态框/通知框出现?基本上是一种成功的东西。比如我点击发送它会打开一个页面然后把他们带回到发送按钮所在的页面并显示一个成功框?什么好主意吗?
如果需要通过AJAX调用触发PHP页面上的某些代码,则无需直接打开该URL即可完成。您只需将该PHP URL传递给调用,执行PHP页面代码,并将响应返回到请求发起的页面。它看起来像这样:
<span id="someButton">Button</span>
<div id="someDivOnYourPage"></div>
<script>
$('#someButton').click(function(e) {
$.ajax('page.php', {
success: function(data) {
alert(data); //This alerts 'Hello from PHP!'
$('#someDivOnYourPage').html(data);//this will set 'Hello from PHP!' inside the #someDivOnYourPage div
},
error: function() {
alert('An error occurred');
}
});
});
</script>
page.php
<?php
echo "Hello from PHP!";
?>
可以在这里找到更详细的解释和可下载的示例:jQuery Ajax POST示例与PHP。
如果它只是一个登录或类似的东西,您可以将消息存储在您正在处理的任何页面的会话中,然后一旦页面被重定向,将该会话变量放入常规变量并取消会话设置。然后你就可以打印出HTML或者Javascript了。
提交到
的页面//Do your processing
$_SESSION['someReturnMessage'] = 'Success!';
header('Location:./originalpage.php');
在originalpage.php //Top of file
if(isset($_SESSION['someReturnMessage'])){
$message = $_SESSION['someReturnMessage'];
unset($_SESSION['someReturnMessage'];
}
...further down the page where you want the message to show...
if(isset($message){
echo $message;
}
您也可以使用AJAX,它可能更适合做简单的任务。
使用会话可能是一个坏主意,所以请确保在有更好的解决方案时不要使用它们:错误消息存储在SESSION