我有一个PHP文件,用于创建存储在变量中的随机字符串。我想用JavaScript访问这个变量,但我在网上发现的方法似乎不起作用。这是我到目前为止的代码:
var test = "<?php echo json_encode($myVariable); ?>";
alert(test);
$ myVariable只是一个字符串:“testing”。
我认为“测试”会被警告,而代码本身就是(<?php echo json_encode($myVariable); ?>
)。当我拿走报价时,没有任何反应。我是JavaScript的新手,所以我不确定是什么问题。有没有其他方法可以使用JavaScript访问PHP变量?
答案 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) . "';"; ?>