如何在AJAX中读取会话变量

时间:2015-02-12 08:55:45

标签: javascript php jquery ajax session

我的图像超链接为:

<a id="register" href = "javascript:void(0)"
data-fancybox-group="gallery"><img src="<cms:show my_image_thumb />" alt="" class="fade"></a>

我有一个getsession.php类来获取会话变量:

<?php
session_start();
if(isset($_SESSION['logged_in']))
    echo "1";
else
echo "0";
?>

我想在点击图片时阅读会话变量值。我试图这样做:

<script type="text/javascript">
   $(document).ready(function(){
      $("#register").click(function(){
       $.ajax({
        url:'getsession.php',
        cache:false,
        success:function(data){
            // Do something with the result
            if(data=="1"){
             window.location = "www.google.com";
            }else{
             document.getElementById('light').style.display='block';
             document.getElementById('fade').style.display='block';
             document.getElementById('fade').scrollIntoView(true); 
            }
          }
        });
     });
   });
</script>

但是,单击图像时没有任何效果。有什么指针吗?

3 个答案:

答案 0 :(得分:0)

首先,确保记录(console.log('button clicked');)该函数已输入,然后在响应到达时记录数据(console.log(data);)。

另外,只需在浏览器中打开它,检查php脚本是否正常工作。

顺便说一下,window.location应该分配一个绝对网址

window.location = "http://www.google.com";

答案 1 :(得分:0)

有可能你的php文件没有放在合适的位置。尝试直接从url运行该文件。如果设置了会话,它应该打印1。然后,尝试将网址更改为http://localhost/getsession.php等文件的绝对网址。

答案 2 :(得分:0)

试试这个:

PHP:

<?php
  session_start();
  if(isset($_SESSION['logged_in']))
    echo "1";
  else
    echo "0";
?>

JS:

   $.ajax({
        url:'http://localhost/getsession.php',
        cache:false,
        type: 'POST',
        success:function(data){
            // Do something with the result
            alert("ajax call success returns: "+ data);
            if(data=="1"){
             window.location.href = "http://www.google.com/";
            }else{
             window.location.href = "http://www.stackoverflow.com/";
            }
        },
       error: function (jqXHR, textStatus, errorThrown) {
             alert("Error Code: " + jqXHR.status + ", Type:" + textStatus + ", Message: " + errorThrown);

        }
    });