如何在使用AJAX后传递$ _SESSION值

时间:2014-09-09 16:41:27

标签: php ajax function session call

在使用AJAX过滤查询结果后,我试图获取一个IF语句来响应$ _SESSION ['view']值的变化。但是,IF语句不嵌套在AJAX div部分中,而是在邻近和下面。

我认为我需要的是AJAX页面中的函数,可能需要重新加载此IF语句,从而检查新的$ _SESSION ['view']值。

这是我目前的结构。

<?php session_start(); ?>
<body>
    <div class="content">Content Here
         <div class="filters">
             <select name="view">View
                 <option value="standard">Standard</option>
                 <option value="gallery">Gallery</option>
             </select>
         </div><!--END filters-->
         <div class="show"> Ajax Results Here </div>
    </div>
    // below displays the adjacent DIV
    <?php
    $sess == ($_SESSION['view'])
    if(!isset($sess)||($sess=='standard')){
        echo '<div>standard</div>'
    } else {
        switch ($sess) {
            case 'gallery' : echo '<div>gallery</div>';
        }
    }
    ?>
</body>

我尝试在(外部)AJAX页面上使用以下内容启动刷新;

$prior = $_SESSION['view'];
$_SESSION['view'] = $_REQUEST['view'];  //allows the filter to set the new value
$post = $_SESSION['view']
if($prior !== $post){header('Location:'.$_SERVER['PHP_SELF'].'?refresh=1');}

这不起作用,因为Header已经(自然地)发送了,但是我认为这个!==方法是朝着正确方向迈出的一步。

在第二次失败的尝试中,我尝试在AJAX脚本中添加“刷新页面”代码,但这只是重置了所有过滤器值 - 打败了这一点。

$(document).ajaxStop(function(){
    window.location.reload();
});

如何获取AJAX(包含在外部文件中)以触发IF语句重新检查$ _SESSION值?

0 个答案:

没有答案