如何使用JavaScript设置会话变量


How can I set session variable with JavaScript

通过在单击按钮上使用以下代码,我获得href属性值,直到一切正常,但当我在单击按钮时获得href链接时,我们希望将其存储在会话变量(即var href)中,因为我们也在其他地方使用此变量。请建议我如何在会话中存储JavaScript变量。?

<script>
        $(document).ready(function(){
            $('.button').click(function(){
                var href = $(this).val();
                alert(href);
            })
        });
    </script>
<button value="<?php echo $value['3']; ?>" class="button" style="background-color:#ff8c21;">Buy Now</button>

您不能设置SESSION WITH JAVASCRIPT这是因为它的服务器端功能,所以如果您想在其他地方使用此data,您可以向服务器发送ajax请求,并在那里为该数据创建会话。

JS:

$(document).ready(function(){
            $('.button').click(function(){
                var href = $(this).val();
                $.ajax({
                    type: "POST",
                    url: url,//url to file
                    data: {val:href},
                    success: function(data){
                    //success
                      };
                    });
                 });
              });

PHP:

 session_start();
 if(isset($_POST['val']))
 {
  $_SESSION['href'] = $_POST['val'];//created a session named "href"
 }
//use session 
if(isset($_SESSION['href']))
{
echo $_SESSION['href'];//use your session.
}

如果您想使用jquery使用会话,请尝试首先包括jquery-1.9.1.js和jquery.session.js

$(document).ready(function(){ 
    $('.button').click(function(){
        var href = $(this).val();
        $.session.set("yoursessioname", "storevalue");
    }) 
});
alert($.session.get("yoursessioname"));

更多详细信息http://phprocks.letsnurture.com/create-session-with-jquery/

如果您想将它存储在SERVER端的会话中,那么您需要使用ajax传递变量并将其存储在php中,例如使用

 <?php
 session_start();
 !isset($_POST['var']) ?: $_SESSION['var'] = $_POST['var'];

但是你也可以考虑使用cookie,这样你就不需要PHP了——只需要使用JavaScript就可以了。有一个很好的Jquery插件

JavaScript在浏览器中工作,PHP会话在服务器上激活,因此如果不向服务器发送请求(例如通过url或提交表单),就无法更改会话变量。但是您可以使用sessionStorage,这是一个类似的原理,但存在于浏览器中,可以通过javascript进行修改。

例如。(javascript内部)

sessionStorage.myvariable=myVal

等等。只要您的选项卡打开(从一页到另一页),它就会一直存在。