如何在我的javascript中插入php变量?

时间:2015-10-21 05:57:32

标签: javascript php jquery

我在将php变量插入到我的javascript代码中时出现问题。我有一个使用标签调用javascript代码的php页面。这样做,我能够在php页面上成功运行javascript。但是,一旦我尝试插入php变量,javascript代码就会中断。

我尝试过的一种方法是像正常一样编写脚本代码,并插入脚本,但这会破坏页面。

$(document).ready(function() {

    $('#calendar').fullCalendar({
        defaultDate: this.date,
        editable: false,
        eventLimit: true, // allow "more" link when too many events
        events: [
            {
                title: <?php 
                $em = 'edfetsko@gmail.com';
                echo $em; ?>,
                start: '2015-02-01'
            }]
    });

});

我的另一个尝试是尝试将所有上述代码(包括标签)包含为php字符串,然后将其打印/回显到页面,但这也不起作用(由于某种原因它只是打印&#39; 0&#39)。

达到我想要的最佳方式是什么?

3 个答案:

答案 0 :(得分:2)

您必须在javascript代码中添加引号,因为邮件地址是一个字符串:

title: '<?php 
$em = 'edfetsko@gmail.com';
echo $em; ?>',
start: '2015-02-01'

答案 1 :(得分:2)

您可以将值从php传递到java脚本。 请检查以下示例,将.php文件中的值传递给.js -

使用example.php

 <?php 
    //exp_var value we need to pass
    $exp_var = 'hello';    
    ?>
    <script>
    var php_value_of_var = <?php echo $exp_var ?>
    </script>

After create above changes in php you can use 'php_value_of_var' in your jscript directly.

'php_value_of_var' - it indicates value which passed from php file.

答案 2 :(得分:1)

解决方案1:

在jquery中使用php标签只会对您的javascript存在的文件扩展名.php起作用,否则会将其分配到标题php文件中的变量中,如下所示

<?php
     var EMAIL = '<?php echo $email; ?>';
?>

然后在您的脚本中使用它,如下所示

$(document).ready(function() {

    $('#calendar').fullCalendar({
        defaultDate: this.date,
        editable: false,
        eventLimit: true, // allow "more" link when too many events
        events: [
            {
                title: EMAIL,
                start: '2015-02-01'
            }]
    });

});

但请确保您的头文件包含在jScript之前

解决方案2

如果javascript已在.php扩展名文件中,您可以直接使用

$(document).ready(function(){

    $('#calendar').fullCalendar({
        defaultDate: this.date,
        editable: false,
        eventLimit: true, // allow "more" link when too many events
        events: [
            {
                title: '<?php echo $em; ?>',
                start: '2015-02-01'
            }]
    });

});