2013-01-31 47 views
0

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

myfile.php contais:

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

,我想让它像这样

testing = <?php $new_testing ?> 

我需要一个建议,也许一个jQuery片段但像我的情况这是一个PHP文件中的JavaScript。


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

  1. javascript_variable ---> php_variable(传递JavaScript变量PHP)然后,
  2. php_variable - > another_javascript_variable(通过PHP到另一个javascript文件)
  3. 的another_javascript_variable将通过外部JavaScript来执行文件

回答

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> 
-1
<?php 
$testing = ["EWMLMc3ES3I", "RSdKmX2BH7o", "SIXwlxhjaKY", "acp8TbBPVos", "6GpKR4-TLoI", "XLKLkTnKRwg", "6WPELkw5kD0"]; 

echo 'var testing = ['.$testing[0].', '.$testing[1].' ]'; 

?> 

回声用PHP JS代码。

+0

没有。我想将JavaScript“测试”变量赋值给一个PHP变量 –

1

它只能用于“页面加载事件”的一种方式。换句话说,JavaScript(客户端代码)总是呈现AFTER PHP(服务器端代码)。

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

+0

这可以应用于我的问题吗?在同一个php文件中?.. 我欣赏你的评论Dan,但是请你可以给我看一些示例代码,以便我理解它,并且让我可以参考更多关于此的研究。 –

+0

在这种情况下不需要ajax – sbaaaang

+0

“解决此问题的一个方法是使用AJAX POST onload,其中客户端已完成呈现并将响应返回给服务器(您的阵列)” - @DanKanze - 这是怎么回事?你是否建议在jquery .post上运行它? ,我认为它不会渲染一个PHP文件吗? :( –

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--你必须提出一个全新的请求。

相关问题