你怎么能把PHP放在Javascript中?

时间:2016-05-15 01:43:19

标签: javascript php jquery echo

我正在通过这样的PHP函数检索Facebook Page Like count:

<?php
function fbLikeCount($id,$appid,$appsecret){
$json_url ='https://graph.facebook.com/'.$id.'?access_token='.$appid.'|'.$appsecret.'&fields=likes';
$json = file_get_contents($json_url);
$json_output = json_decode($json);
if($json_output->likes){
    return $likes = $json_output->likes;
}else{
    return 0;
}
}
?>

然后,我能够回应这个没有这样的问题:

<?php
echo number_format(fbLikeCount('companynamegoeshere','XXXXXXXXXXXX','XXXXXXXXXXX'));
?>

但是,我正在使用JavaScript函数来执行此动画,以便在页面上显示数字,如下所示:

<script>
$({someValue: 0}).animate({someValue: 450700}, {
duration: 3000,
easing: 'swing',
step: function () {
   $('#facebookCount').text(commaSeparateNumber(Math.round(this.someValue)));
},
complete:function(){
      $('#facebookCount').text(commaSeparateNumber(Math.round(this.someValue)));
  }
});
</script>

JS代码中的那个450700是我需要放置PHP echo的数字的地方。甚至可以将PHP回显(如果我把它变成一个变量?)到JS中。

我尝试了很多很多东西并撞到了一堵砖墙。非常感谢任何帮助。

谢谢!

3 个答案:

答案 0 :(得分:3)

如果javascript在php文件中,你可以将PHP标签放在javascript中。但老实说,你最好创建一个隐藏的元素,回显你需要的数据,然后只使用javascript来获取该元素的值/ innerHTML。

答案 1 :(得分:0)

如果JavaScript代码在php页面上,您可以在JavaScript中添加jQuery(document).ready(function () { jQuery('pre code').each(function (i, block) { hljs.highlightBlock(block); }); }); 代码,但我更喜欢使用heredoc syntax,即:

<强> somefile.php

php

答案 2 :(得分:0)

修改@Pedro Lobito的答案 - 你在js中回显值如下:

<?php
$number = "1234";
?>
<script>
$({someValue: 0}).animate({someValue: <?php echo"$number";?>}, {
duration: 3000,
...

或者:

    <?php
    $number = "1234";
    ?>


    <script>
    var testValue = <?php echo"$number";?>;
    $({someValue: 0}).animate({someValue: testValue}, {
    duration: 3000,
    ...

甚至

<input type="hidden" name="testInput" value="<?php echo"$number";?>" />

        <script>
        var testValue = $('[name=testInput]').val();
        $({someValue: 0}).animate({someValue: testValue}, {
        duration: 3000,
        ...

或隐藏的div / span - 但将display:none移动到外部CSS工作表

<span style="display:none"  id="testSpan"><?php echo"$number";?></span>

        <script>
        var testValue = $('#testSpan').text();
        $({someValue: 0}).animate({someValue: testValue}, {
        duration: 3000,
        ...