在javascript文件中嵌入PHP脚本输出

时间:2016-06-05 13:46:27

标签: javascript php wordpress wordpress-plugin wordpress-theming

file1.php将回显WordPress帖子特色图片的网址。 我正在尝试将此网址嵌入 file2.js 文件中的img标记。

file1.php

<?php $url = wp_get_attachment_url( get_post_thumbnail_id($post->ID), 'thumbnail' ); ?>
<?php echo $url ?>

file2.js

var mjvfiurl;
$.get("/wp-content/plugins/mjv_sample_plugin/file1.php", function(mjvdata) {
     mjvfiurl=mjvdata;
});

var fapDom = '<div id="fap-wrapper"><img src="'+mjvfiurl+'" alt="" /></div>';

$('body').append(fapDom);

但它不起作用。源代码呈现如下:

<img src="undefined" alt="">

控制台错误:

http://padals.com/baahubali-beginning/undefined 404 (Not Found)

只是将PHP输出嵌入到javascript图像标记中。非常感谢。

3 个答案:

答案 0 :(得分:0)

假设您正在使用jQuery&#39; $ .get(),您正在寻找的是:

Show/Hide Edit Button

您的问题是,由于您正在进行异步调用,因此您附加到正文时可能无法定义$.get("/wp-content/plugins/mjv_sample_plugin/file1.php", function(mjvdata) { var mjvfiurl = mjvdata; var fapDom = '<div id="fap-wrapper"><img src="'+mjvfiurl+'" alt="" /></div>'; $('body').append(fapDom); }); ,因为发送以获取该URL的请求尚未完成爱好。

当你进行异步调用时,其余的JavaScript都会执行。

答案 1 :(得分:0)

<script type="text/javascript">
    phpVars = new Array();
    <?php foreach($vars as $var) {
        echo 'phpVars.push("' . $var . '");';
    };
    ?>
</script>
<script type="text/javascript" src="yourScriptThatUsesPHPVars.js"></script>

如果你只需要将变量从PHP传递到javascript,你可以在php / html文件中使用javascript来开始标记。

答案 2 :(得分:0)

如果您尝试调用函数,则可以像这样执行此操作

<script type="text/javascript">
    functionOne(<?php echo implode(', ', $arrayWithVars); ?>);
    functionTwo(<?php echo $moreVars; ?>, <?php echo $evenMoreVars; ?>);
</script>
<script type="text/javascript" src="YourFunctions.js"></script>