簡體   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