关于重定向通知 - PHP / JS

时间:2015-05-22 20:34:46

标签: javascript php jquery html css

当我执行标题重定向或其他重定向到页面的方法时,如何显示模态框/通知框?基本上作为一种成功的事情。就像我点击发送它打开一个页面,然后将它们带回发送按钮所在的同一页面并显示成功框?有什么想法吗?

2 个答案:

答案 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