如何根据比较重新加载ajax中的页面

时间:2014-11-12 10:42:50

标签: javascript jquery ajax

如果会话为空,我尝试重新加载页面,但我无法像下面的ajax代码那样执行此操作

function test()
{
    $this = $(this);
    $.ajax({
        url: 'view/test/test.php',
        datatype: 'html',
        async:true,
        beforeSend : function(){
            $('#ajax_loader').show(); 
            $('#content').hide();
        },
        success: function(data){
            if(data=='cannot')
            { 
                location.reload(true);
            }
            else
            {   
                $('#ajax_loader').hide();    
                $box = $('#content');
                $box.after(data);
                $box.remove();
            }
        }
    });
}
$(document).on('click','#test',$(this),test);

并将视图测试文件另存为

<?php include '../../config.php';
if(empty($_SESSION['college_id']))
{
    echo "cannot";
    return;
}
?>

以上代码用于检查会话是否存在。如果会话为空,则只需发送"cannot"即可。当我获得成功数据为"cannot"时,我尝试重新加载页面,但重新加载功能在if条件下不起作用。没有条件,它确实有效。怎么了?

3 个答案:

答案 0 :(得分:2)

您可以在代码中尝试一次这可能对您有用吗

if($.trim(data)=='cannot')
                        {
                            alert("your session has been expired");
                    document.location.reload(true);
                       }

答案 1 :(得分:0)

尝试将dataType更改为文本并尝试。还尝试在字符串比较之前修剪成功回调响应数据

答案 2 :(得分:0)

在使用$ _SESSION超全局变量之前,您必须通过编写

来启动或恢复会话
session_start()

注意:这必须是第一件事(甚至在HTML标签之前)