0

我有这个 PHP 文件,其中我需要这个可用的 javascript 变量(在同一个文件中)来传递我的 PHP 变量,就像这样。

myfile.php 包含:

    var testing  = ["EWMLMc3ES3I", "RSdKmX2BH7o", "SIXwlxhjaKY", "acp8TbBPVos", "6GpKR4-TLoI", "XLKLkTnKRwg", "6WPELkw5kD0"];

我想让它像这样

 testing = <?php $new_testing ?>

我需要一个建议,可能是一个 jquery 片段,但类似于我的场景,它是一个 php 文件中的 javascript。


编辑:附加信息,原因是,因为还有另一个需要特定 PHP 变量的 javascript 代码(不在同一个文件上,而是通过外部 JS 包含它)。所以说这里的逻辑:

  1. javascript_variable ---> php_variable(将 javascript 变量传递给 php)然后,
  2. php_variable --> another_javascript_variable(将 php 传递给另一个 javascript 文件)
  3. another_javascript_variable 将由该外部 javascript 文件执行
4

3 回答 3

1

它仅适用于“页面加载事件”。换句话说,JavaScript(客户端代码)总是在 PHP(服务器端代码)之后呈现。

解决此问题的一种方法也是使用 AJAX POST onload,其中客户端已完成渲染并将响应返回给服务器。(你的阵列)

于 2013-01-31T19:21:59.783 回答
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——你必须提出一个全新的请求。

于 2013-01-31T19:27:23.853 回答
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); 

Javascript:

<script>
my_var = jQuery.parseJSON(object_name.js_var);
alert(my_var); 
</script>
于 2013-02-01T10:40:46.650 回答