如何将PHP变量传递给类似于WordPress wp_localize_script函数的JavaScript

时间:2019-03-16 10:35:29

标签: javascript php wordpress

WordPress具有wp_localize_script(),可将PHP变量直接传递给JS。用户看不到页面源传递的数据,而如果将数据从PHP传递给JS,则我们必须例如回显该变量。

<script>
var userName = '<?php echo $username ?>';
</script>

用户可以通过浏览器工具对其进行操作。在用户看不到或无法直接处理从PHP传递到JS的数据的核心PHP中,我们是否有任何安全的方法来做到这一点?

2 个答案:

答案 0 :(得分:0)

可以。您可以尝试使用wp ajax。从javascript向wordpress系统发出ajax请求,然后在wp后端系统上创建一个函数以将数据回复或发送回javascript。 像这样的东西:

<script>
    //sending the request to get the username with ajax
    function get_the_username()
    {
        jQuery.ajax({
            url : 'https://yoursite/wp-admin/admin-ajax.php',
            dataType : 'json',
            data : {
                action : 'get_the_username'
            },
            type : 'POST',
            beforeSend : function(){
                //alert("sending:");
            },
            success : function( data ){



            }

        });
    }

</script>

答案 1 :(得分:0)

从PHP到Javascript获取变量的简单方法是使用JSON数据类型。确保仅显示对象(请参阅echo $ jsonObject)。 只需将其放入数组示例即可将变量转换为JSON:

if else

在javascript中,只需使用eval()将字符串转换为Javascript对象即可获得

$myVar = 10;
$jsonObject = json_encode(array(array("myVar" => 10))); //I use two arrays because I will use javascript eval() method.
echo $jsonObject;