获取会话值并在jquery中显示它

时间:2013-11-18 07:15:40

标签: jquery ajax

我正在使用颜色选择器,当任何用户更改颜色时,会调用ajax函数来获取该值并将其存储在php session中并返回该值。现在我想要session中的商店价值,这样当用户刷新页面时,价值就会保留在那里。我的所有代码都在这里

function colorbg(){
            var colorbg = $( "#colorbgi" ).val();
            //alert( colorbg );
            $.ajax({
              type: "POST",
              url: "ajax_set_color.php",
              data: { colorbg: colorbg }
            })
              .done(function( msg ) {
                  //alert( "Data Saved: " + msg );
                  var newbgcolor = <?php echo '#'. $_SESSION['colorbg']; ?>;
                  $(".search_form, .nav-tabs li a").css("background-color", newbgcolor);

              });

            }

并且php页面代码在这里,在这个页面会话是商店。

if(isset($_REQUEST['colorbg']) && $_REQUEST['colorbg'] != "")

{

  $_SESSION['colorbg'] = $_REQUEST['colorbg'];
    $colorbg = $_SESSION['colorbg'];

    print $colorbg;
}

现在指导我错在哪里。感谢

4 个答案:

答案 0 :(得分:0)

你错过了php脚本的开头:

session_start();

答案 1 :(得分:0)

当你加载页面时,你想要从会话值中设置颜色:

var newbgcolor = <?php echo '#'. $_SESSION['colorbg']; ?>;

它应该是这样的:

var newbgcolor = msg;
$(".search_form, .nav-tabs li a").css("background-color", newbgcolor);

如果你想在加载时设置它,请执行以下操作:

$(document).ready(function(){
    $(".search_form, .nav-tabs li a").css("background-color", "<?php echo '#'. $_SESSION['colorbg']; ?>");
});

或直接进入这样的形式,例如:

<form class="search_form" style="background-color:<?php echo '#'. $_SESSION['colorbg']; ?>"> ...

答案 2 :(得分:0)

function colorbg(){
            var colorbg = $( "#colorbgi" ).val();
            //alert( colorbg );
            $.ajax({
              type: "POST",
              url: "ajax_set_color.php",
              data: { colorbg: colorbg }
            })
              .done(function( msg ) {
 alert(msg); // it shows session colorbg

              });

            }

并在php中

 session_start(); //write also here
if(isset($_REQUEST['colorbg']) && $_REQUEST['colorbg'] != "")

{

  $_SESSION['colorbg'] = $_REQUEST['colorbg'];
    $colorbg = $_SESSION['colorbg'];

    print $colorbg;
}

答案 3 :(得分:0)

function opt_val(a,b)
    {
        if(a==3)
        {
    var role=a;
    var dept=b;
    if(role=="role")
    {
        return false;
    }
    if(dept=="dept")
    {
        return false;
    }
    //alert(dept);
    //alert(role);
    //alert(opt_value);
    try
    {
        ob=new XMLHttpRequest();
    }
    catch(e)
    {
        try
        {
            ob=new ActiveXObject(Microsoft.XMLHTTP);
        }
        catch(e)
        {
            try
            {
                ob=new ActiveXObjcet(Msxml2.XMLHTTP);
            }
            catch(e)
            {
                alert("your browser does not support");
            }
        }
    }
    ob.onreadystatechange=function()
    {
        if(ob.readyState==4)
        {
            var arr=$.parseJSON(ob.responseText);
            //alert(arr);
            if(arr[0]==1)
            {
                $('#popup_001').show();
                $('#popup_003_inner_message').html(arr[3]);
                $('#popup_001_inner_message').html(arr[2]);
                $('#popup_002_inner_message').html(arr[1]);
            }
            else if(arr[0]==0)
            {
                window.location="register.php";
            }
            else if(arr[0]==2)
            {
                alert (arr[1]);
            }
        }
    }
    ob.open("GET","dept_chk.php?dept="+dept + "&role="+role,true);
    ob.send();
        }
            //sheet='+sheet + '&fname2='+fname2+'&col='+col+'
            return false;
    }