2014-02-11 103 views
0

我有一个名为Datapoints存储在会话中的PHP类对象,我试图从javascript函数中访问它的变量。从Javascript访问PHP对象变量

从内部的JavaScript我可以通过$ _SESSION ['foo']访问会话变量,但我无法访问对象变量。我试过各种语法来返回变量。

我可以像这样访问变量,它工作正常。

<?php echo intval($_SESSION['count']); ?> 

但我宁愿在会话整个对象,例如,如果我这样做...

<?php 
    header("Content-Type: text/javascript"); 
    session_start(); 
    $c = $_SESSION['datapoints']->count; 
    $c1 = $datapoints->count; 
?> 
var count = <?php echo $c; ?> 
var count1 = <?php echo $c1; ?> 

都返回NULL。

我的对象看起来像这样通过print_r('datapoints')。

Datapoints Object ([startdate] => 2013-06-05 [currency] => GBP [count] => 4527 [datapoints] => Array ([0] => Datapoint Object (...) ...)) 

感谢

编辑:

感谢您的帮助,我现在已经解决了这个。原来自动加载器在JavaScript文件中没有正确加载类是一个问题。

+1

您不能直接在JavaScript访问PHP值。但是,您可以使用PHP代码将*值发送到JavaScript。在会话变量与对象之间如何做这件事没有任何区别。你是如何尝试这种方式的,它以什么方式不能按预期工作?而不是描述你的代码,实际上显示你的代码。 – David

+0

您的$ _SESSION ['datapoints']是一个数组尝试$ _SESSION ['datapoints'] [0] - > count; –

+0

试过了,不幸的是没有工作。 – AliS

回答

0

第一线

@session_start(); 

使用 “回声”

var startdate = "<? echo urObject->startdate?>"; 
+0

谢谢,但我已经这么做了。 – AliS

+0

但对象为空或不是? – Netzach

+0

我有会话开始和对象在那里。 – AliS

0

你可以在javascript中访问PHP变量。原因很简单:

var whatever = "<?php echo your_php_variable ?>"; 
+0

感谢您的回复,但我已经在使用它了,问题是当对象处于会话中时,我无法访问对象变量。在你的例子中,如果我做'var whatever =“<?php echo datapoints-> count;?>”;'它返回null。 – AliS