如何将PHP变量传递给类似WordPress wp_localize_脚本函数的JavaScript

如何将PHP变量传递给类似WordPress wp_localize_脚本函数的JavaScript,javascript,php,wordpress,Javascript,Php,Wordpress,WordPress有()允许将PHP变量直接传递给JS。用户看不到从页面源传递的数据,但如果将数据从PHP传递到JS,则我们必须回显该变量 <script> var userName = '<?php echo $username ?>'; </script> var用户名=“”; 用户可以通过浏览器工具对其进行操作。在用户看不到或无法操作从PHP直接传递到JS的数据的核心PHP中,我们是否有任何安全的方法来实现这一点?是的,您可以。您可以尝试使用wp-

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

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

var用户名=“”;

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

是的,您可以。您可以尝试使用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>

//使用ajax发送获取用户名的请求
函数获取\u用户名()
{
jQuery.ajax({
网址:'https://yoursite/wp-admin/admin-ajax.php',
数据类型:“json”,
数据:{
操作:“获取\u用户名”
},
键入:“POST”,
beforeSend:function(){
//警报(“发送:”);
},
成功:功能(数据){
}
});
}

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

$myVar = 10;
$jsonObject = json_encode(array(array("myVar" => 10))); //I use two arrays because I will use javascript eval() method.
echo $jsonObject;
在javascript中,只需使用eval()将字符串转换为javascript对象即可

$.post(linkToPHPScript,{},function(data){
var myVarInJavascript = eval(data);
myVarInJavascript = myVarInJavascript[0].myVar; //You got your variable here in Javascript
});

用户可以看到数据(视图:源)。ref:您从js发送/使用/获取的任何数据,用户都可以查找/查看/操作