2011-05-11 83 views
2

我正在使用$ _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电子邮件认识到,无需刷新。

感谢您的帮助,当你运行得到

回答

3

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

+0

啊,所以如果我将URL改为http://www.example.co.uk/erc/process.php?send_type=2',然后在process.php文件中获得了iimei,那会起作用吗? – 2011-05-11 11:33:23

+0

是的。它会工作。 – cbroughton 2011-05-11 11:39:31

+0

再次感谢,非常感谢您的帮助 – 2011-05-11 11:40:51

0

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