2011-05-11 62 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。然後,在成功回調中,您更新了會話值需要更新的任何需求。