繁体   English   中英

将JavaScript数组传递给同一PHP文件上的php变量

[英]Passing a javascript array to php variable on the same PHP file

我有一个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文件执行

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

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

从我理解您的问题的方式来看,我相信您正在寻找的是php函数json_encode

然后,您基本上可以做您想做的事情。

<?php $new_testing = array('one', 'two', 'three', 'four'); ?>

<script>
    var testing = <?php echo json_encode($new_testing); ?>;
</script>

如果您问“我的JavaScript如何将变量传递给PHP”,答案是AJAX -您必须提出一个全新的请求。

在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); 

字幕:

<script>
my_var = jQuery.parseJSON(object_name.js_var);
alert(my_var); 
</script>
<?php
$testing  = ["EWMLMc3ES3I", "RSdKmX2BH7o", "SIXwlxhjaKY", "acp8TbBPVos", "6GpKR4-TLoI", "XLKLkTnKRwg", "6WPELkw5kD0"];

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

?>

用php回显js代码。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM