无需刷新即自动更新$ _SESSION变量

时间:2011-05-11 11:28:26

标签: php javascript jquery ajax session

我使用$ _SESSION变量通过AJAX发送电子邮件(需要在不刷新页面的情况下发送),但$ _SESSION变量不会自动更新,所以当它更改时我需要刷新页面才能更新变量。

是否可以在不刷新的情况下更新$ _SESSION变量?

这是我用来发送电子邮件的代码:

$(document).ready(function(){
    $("#medicalembassy").validate({
        debug: false,
        rules: {
            name: "required",
            email: {
                required: true,
                email: true
            }
        },
        messages: {
            name: "Please let us know who you are.",
            email: "",
        },
        submitHandler: function(form) {
            // do other stuff for a valid form
            $.post('http://www.example.co.uk/erc/process.php?imei=<?php echo $_SESSION['imei2']; ?>&send_type=2', $("#medicalembassy").serialize(), function(data) {
                $('#results').html(data);
            });
        }
    });
});

所以基本上,如果$ _SESSION变量发生变化,我需要这个AJAX电子邮件来识别它而不必刷新。

感谢您的帮助

2 个答案:

答案 0 :(得分:3)

运行“session_start();”时获取$ _SESSION变量如果使用“session_destroy();”则清除。您无法在同一文档中多次获得会话变量的更改,但是:每次请求该页面时,AJAX请求的文档都会看到$ _SESSION中的更改(AJAX中的页面)。

答案 1 :(得分:0)

让您的PHP脚本返回包含结果html和会话中新值的JSON。然后,在您成功回调中,您将使用会话值更新需要更新的任何内容。