2016-08-06 43 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; 
    . 
    . 
});