如何使用JavaScript访问PHP变量?

时间:2014-07-01 15:14:36

标签: javascript php variables

我有一个PHP文件,用于创建存储在变量中的随机字符串。我想用JavaScript访问这个变量,但我在网上发现的方法似乎不起作用。这是我到目前为止的代码:

var test = "<?php echo json_encode($myVariable); ?>";
alert(test);

$ myVariable只是一个字符串:“testing”。

我认为“测试”会被警告,而代码本身就是(<?php echo json_encode($myVariable); ?>)。当我拿走报价时,没有任何反应。我是JavaScript的新手,所以我不确定是什么问题。有没有其他方法可以使用JavaScript访问PHP变量?

4 个答案:

答案 0 :(得分:0)

您可以通过此

传输变量内容
var test = "<?php echo $myVariable; ?>";
alert(test);

答案 1 :(得分:0)

我不知道为什么人们会投票这样的问题,因为这类问题对新开发者来说非常普遍。

使用javascript AJAX / Cookies / _SESSION或直接回显到javascript,从php访问变量的方法很少。

<强> AJAX

通过更好的层间分离更具可读性,它还允许异步传输。但是如果有很多变量可以从php请求,那么添加HTTPrequest可能导致网站减速很多。

<强>缓存

我不推荐它,因为客户端会有很多必要的数据存储。

<强> _SESSION

我建议您使用_SESSION,因为新的开发人员会发现它更容易使用。它与cookie类似,但唯一的区别是页面关闭后数据被擦除。

直接回复javascript

易于实施,但代码实践可怕。

以上所有答案我解释说你对主题的研究相当模糊,寻找_SESSION开始,然后在适当时继续使用AJAX。

代码示例

PHP

如果你从mysql获取数据

$_SESSION["AnyVariable"] = my_sql_query ("SELECT someData FROM someTable")

或者它只是PHP中的一个变量

$SESSION["aVariable"] = whateverValue;

的JavaScript

<script type="text/javascript">
    function someFunction()
    {

        var someVariable = '<%= Session["phpVariableSessionName"] %>';
        alert(someVariable);
    }
</script>

答案 2 :(得分:-1)

json_encode为javascript生成输出,您不能将其放入引号:

var test = <?php echo json_encode($myVariable); ?>;

答案 3 :(得分:-1)

反过来试试......

<?php echo "var test = '" . json_encode($myVariable) . "';"; ?>