2016-02-04 38 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调用并获取会话值

相关问题