2016-08-06 47 views
0

如何使用ajax/jquery获取test.php中count的变量?如何使用ajax/jquery从PHP获取count的变量?

我想要得到的变量是$countses。它负责保持借用会话的计数值。

//session_destroy(); 
if(isset($_SESSION['sBorrow'])){ 
    $countses = count($_SESSION['sBorrow']); 

    echo $countses; 
} 
    // nothing requested, so return all values 
    print json_encode($_SESSION); 

我想在这个地方

var sessionvar; 
      $.ajaxSetup({cache: false}) 
      $.get('test.php' ,function (data) { 
       sessionvar = data; 
       //var ses = sessionvar.length 
       //alert(ses); 

       /* 
       var count = 0; 
       for(var i = 0; i < sessionvar.length; ++i){ 
        if(sessionvar[i] == 2) 
         count++; 
        alert(count); 
       }*/ 

       var checkedCbs = $('.sBorrow:checked '); 
       if (checkedCbs.length === 2) { 
        alert("You can only select 3 books"); 
        this.checked = false;  
       } 
      }); 

我要拨打的变量$countses,以便它可以用于条件语句来调用。但是,我只获得会话变量。所以我在找到解决方案时对它进行评论。

+0

只有会话变量?你不会得到'json_encode($ _ SESSION)'? –

+0

我不知道json_encode。我仍然得到结果。除非我仍然有问题使用它。你能告诉我在哪里使用json_encode – AhKing

+0

哦,等等。我没有得到它吗?我把json_encode($ _ SESSION)对吗? – AhKing

回答

2

编辑在test.php的代码

$ret = []; 
if(isset($_SESSION['sBorrow']) && is_array($_SESSION['sBorrow'])) 
{ 
    $countses = count($_SESSION['sBorrow']); 
    array_push($ret,$countses); 
} 

array_push($ret,$_SESSION); 

print $ret; 
} 

添加该代码在阿贾克斯

$.get('test.php' ,function (data) 
{ 
var data = data[0];// this is your $countsess 
} 
0

试试这个:

test.php

$ret = []; 
if(isset($_SESSION['sBorrow']) && is_array($_SESSION['sBorrow'])) 
{ 
    $countses = count($_SESSION['sBorrow']); 
    $ret['countses'] = $countses; 
} 

$ret['session'] = $_SESSION; 

print json_encode($ret); 

那么你的javascript:

var sessionvar; 
var countsesvar; 
. 
. 
$.get('test.php' ,function (data) { 
    sessionvar = data.session; 
    countsesvar = data.countses; 
    . 
    . 
});