2016-02-04 39 views
1

我想在.js文件中獲取會話數據。在這裏,我想要一個函數中的數據 現在我直接把value.How從會話中拿走它。如何在.js文件的javascript函數中獲取php會話數據

js文件

function callAllfnt(){ 
    get_data(1) ; 
    } 

我想作爲1屆data.How把它

+0

PHP變量沒有在'.js'文件允許的。你必須使用'ajax'。 –

回答

3

如果你想讓它網頁上加載試試這個:

function callAllfnt() { 
    var data = "<?php echo $_SESSION['givenName']; ?>"; 
} 

在後期應用的生命週期中,使用AJAX

+0

這裏使用單引號並不是錯誤。因爲你在PHP和外部報價只是文本。 – jcubic

+0

@jcubic,我猜到了,但不確定;)內部語句將被首先解析('預處理')並將被外部引號包裹,對嗎? – Rayon

1

您需要創建PHP腳本,將返回會話數據,並調用與阿賈克斯這樣的:

PHP

if (isset($_GET['var'])) { 
    echo json_encode($_SESSION[$_GET['var']]); 
} 

JS與jQuery:

function get_data(variable, callback) { 
    $.get('session.php', {'var':variable}, function(data) { 
     callback(data); 
    }, 'json'); 
} 

,你可以調用該函數使用:

get_data(1, function(value) { 
    alert(value); 
}); 
1

只是在單引號中使用php標記,如果你java腳本是寫在HTML頁面一樣

function callAllfnt() { 
    var value = '<?php echo $_SESSION["varName"]; ?>'; 
    get_data(value) ; 
} 

但是,如果你的JavaScript代碼編寫單獨的js文件,然後使用AJAX。

第三種選擇是,如果您的JavaScript文件包含在PHP文件中,然後在js文件的頂部創建一個JavaScript變量,包括代碼並在js文件中使用該變量。

2

1)

查看文件

<script type="text/javascript"> 
var Sessionvalue = "<?php echo $this->session->userdata('session_name')"; 
<script> 

後加載JS文件

<script src="<?php echo base_url(); ?>js/file.js" type="text/javascript"></script> 

JS文件

function callAllfnt() { 
    var data = SessionValue; 
} 

(OR)

2)使用Ajax調用並獲取會話值

相關問題