我有这个PHP文件,其中我需要这个javascript变量(在同一个文件中)来传递我的PHP变量,就像这样。
myfile.php包含:
var testing = ["EWMLMc3ES3I", "RSdKmX2BH7o", "SIXwlxhjaKY", "acp8TbBPVos", "6GpKR4-TLoI", "XLKLkTnKRwg", "6WPELkw5kD0"];
我希望像这样做
testing = <?php $new_testing ?>
我需要一个建议可能是一个jquery片段,但有一些像我的场景,这是一个PHP文件中的JavaScript。
编辑:附加信息,原因是,因为还有另一个javascript代码(不是在同一个文件上,而是通过外部JS包含它)需要特定的PHP变量。 所以说这是逻辑:
答案 0 :(得分:1)
只有一种方式可以实现“页面加载事件”。换句话说,JavaScript(客户端代码)总是在PHP(服务器端代码)之后呈现。
解决这个问题的方法是使用AJAX POST onload,客户端已完成渲染并将响应返回给服务器。 (你的阵列)
答案 1 :(得分:0)
从我理解你的问题的方式来看,我相信你正在寻找的是php函数json_encode
然后,你基本上可以做你正在尝试的事情。
<?php $new_testing = array('one', 'two', 'three', 'four'); ?>
<script>
var testing = <?php echo json_encode($new_testing); ?>;
</script>
如果您问“我的JavaScript如何将变量传递给我的PHP”,答案是AJAX - 您必须提出全新的请求。
答案 2 :(得分:0)
在PHP方面,使用json_encode()将您的php数组转换为合适的格式,以将其传递给javascript。
PHP:
$var = array( 'lorem', 'ipsum', 'dolor');
$json_var = json_encode($var);
$parameter = array( 'js_var' => $json_var );
wp_enqueue_script('my_script');
wp_localize_script('my_script', 'object_name', $parameter);
Javscript:
<script>
my_var = jQuery.parseJSON(object_name.js_var);
alert(my_var);
</script>
答案 3 :(得分:-1)
<?php
$testing = ["EWMLMc3ES3I", "RSdKmX2BH7o", "SIXwlxhjaKY", "acp8TbBPVos", "6GpKR4-TLoI", "XLKLkTnKRwg", "6WPELkw5kD0"];
echo 'var testing = ['.$testing[0].', '.$testing[1].' ]';
?>
使用php回复js代码。