Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将多个PHP变量传递给jQuery函数?_Php_Jquery_Ajax_Wordpress_Plugins - Fatal编程技术网

如何将多个PHP变量传递给jQuery函数?

如何将多个PHP变量传递给jQuery函数?,php,jquery,ajax,wordpress,plugins,Php,Jquery,Ajax,Wordpress,Plugins,我正在开发Wordpress插件。我需要将插件目录(根据个人的安装情况可以更改)传递给jquery函数 这样做的最佳方式是什么?我可以使用的插件版本包含了PHP文件中的所有javascript,因此在浏览器中呈现之前,函数和其余内容一起被解析 我正在研究AJAX,但我认为它可能比我需要的更复杂。在这种情况下,我可以只使用两个变量(目录,用户不设置任何内容) 正如我已经阅读过它的良好实践,我正试图将js和php分开。当插件初始化时,它调用js文件: //Wordpress calls th

我正在开发Wordpress插件。我需要将插件目录(根据个人的安装情况可以更改)传递给jquery函数

这样做的最佳方式是什么?我可以使用的插件版本包含了PHP文件中的所有javascript,因此在浏览器中呈现之前,函数和其余内容一起被解析

我正在研究AJAX,但我认为它可能比我需要的更复杂。在这种情况下,我可以只使用两个变量(目录,用户不设置任何内容)

正如我已经阅读过它的良好实践,我正试图将js和php分开。当插件初始化时,它调用js文件:

    //Wordpress calls the .js when the plugin loads
    wp_enqueue_script( 'wp-backitup-funtions', plugin_dir_url( __FILE__ ) . 'js/wp-backitup.js', array( 'jquery' ) );
然后我在.js文件中,需要找出如何生成以下变量:

    dir = '<?php echo content_url() ."/plugins"; ?>';
    dir = '<?php echo content_url() ."/themes"; ?>';
    dir = '<?php echo content_url() ."/uploads"; ?>';
dir='';
dir='';
dir='';
并运行分析程序来分析以下请求:

    xmlhttp.open("POST","<?php echo plugins_url() .'/wp-backitup/includes/wp-backitup-restore.php'); ?>",true);
    xmlhttp.open("POST","<?php echo plugins_url() .'/wp-backitup/includes/wp-backitup-start.php'); ?>",true);
    xmlhttp.open("POST","<?php echo plugins_url() .'/wp-backitup/wp-backitup-directory.php'); ?>",true);
    xmlhttp.open("POST","<?php echo plugins_url() .'/wp-backitup/wp-backitup-db.php'); ?>",true);
    window.location = "<?php echo plugins_url() .'/wp-backitup/backitup-project.zip'); ?>"; 
    xmlhttp.open("POST","<?php echo plugins_url() .'/wp-backitup/wp-backitup-delete.php'); ?>",true);

xmlhttp.open(“POST”,“您的函数可以加载到.js文件中,但是当您在PHP页面中对插件进行初始化时,可以给出所需的PHP变量。通过示例:

$("#myDiv").startPlugin("<?php echo $directory;?>");
$(“#myDiv”).startPlugin(“”);

如果您需要从php获取信息,您实际上没有选择将其提供给某个插件。对我来说,使用ajax查询它不是一个好主意。

没有看到代码有点困难,但一般来说,我会从php的某个地方输出目录,如:

<script type="text/javascript">
  var dirs = <?php echo empty($dirs) ? "{}" : json_encode($dirs); ?>;
</script>

var-dirs=;
又快又脏:

<script type="text/javascript">
<?php
    echo 'var myJsObject =' . json_encode(array(
        'dir1' => $directory1,
        'dir2' => $directory2
    ));
?>
    alert(myJsObject.dir1);
</script>

警报(myJsObject.dir1);

您可能对JQuery的
serializeArray()
函数感兴趣,该函数将变量作为单个数组来回传递。