当我执行标题重定向或其他重定向到页面的方法时,如何显示模态框/通知框?基本上作为一种成功的事情。就像我点击发送它打开一个页面,然后将它们带回发送按钮所在的同一页面并显示成功框?有什么想法吗?
答案 0 :(得分:2)
如果您需要通过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 example with PHP。
答案 1 :(得分:0)
如果它只是一个登录或类似的东西,您可以将消息存储在您正在处理的任何页面的会话中,然后一旦页面被重定向,将该会话变量放入常规变量并取消你的会话。然后你就可以打印出任何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,它可能更适合做简单的任务。
使用会话可能不是一个好主意,因此请确保在有更好的解决方案时不要使用它们:Error messages stored in SESSION