你怎么能在这个javascript代码中引入php变量

时间:2014-08-21 11:32:34

标签: javascript php

我有这个javascript calendar plugin和此代码来管理事件:

$('#calendar').fullCalendar({
            header: {
                left: 'month,agendaWeek',
                center: 'title',
                right: 'prev,next'
            },
            defaultDate: '2014-06-12',
            editable: true,
            events: [
                {
                    title: 'All Day Event',
                    start: '2014-06-01'
                },
                {
                    id: 999,
                    title: 'Repeating Event',
                    start: '2014-06-16T16:00:00'
                },
                {
                    title: 'Meeting',
                    start: '2014-06-12T10:30:00',
                    end: '2014-06-12T12:30:00'
                },
                {
                    title: 'Birthday Party',
                    start: '2014-06-13T07:00:00'
                },
                {
                    title: 'Click for Google',
                    url: 'http://google.com/',
                    start: '2014-06-28'
                }
            ]
        });

我怎样才能介绍事件:[title,url,start] php变量?因此,我不想在此文件中写入事件的标题和开始时间,而是使用PHP变量,如$ title和$ date。

谢谢!

5 个答案:

答案 0 :(得分:0)

把php变量放在那里?假设这是一个.php页面?

title: '<?php echo $title; ?>',
start: '<?php echo $startDate; ?>'

答案 1 :(得分:0)

如果它是php文件的一部分,你可以使用类似的东西:

<?=$title?>

如果它不是php文件的一部分,请将其作为php文件的一部分

答案 2 :(得分:0)

简单echo PHP变量代替硬编码字符串。所以

title: 'Birthday Party',

变为

title: '<?php echo $title; ',

等等。

答案 3 :(得分:0)

如果您有特定的$title$date变量

$('#calendar').fullCalendar({
        //...
        events:[{
           title: "<?php echo $title;?>",
           start: "<?php echo $date;?>"

如果要从数据库中的行来构建整个事件属性

<?php
//do whatever database calls to get an associative array or array of objects 

?>
$('#calendar').fullCalendar({
        //...
        events:<?php echo json_encode($rows);?>,
        //...

答案 4 :(得分:0)

将PHP放入内联JS或脚本标记是不好的做法。它难以阅读且难以维护。你想要的是创建一个PHP文件,你可以发送HTTP / Ajax请求。

Javascript(使用jQuery):

var events = $.ajax({
    url: 'http://example.com/api.php',
    data: { event: 'all' },
    dataType: 'json',
    type: 'GET'
  })
  .fail(errHandler);

var calendarObj = {
  header: {
    left: 'month,agendaWeek',
    center: 'title',
    right: 'prev,next'
  },
  defaultDate: '2014-06-12',
  editable: true
};

events.done(function (data) {

  calendarObj.events = data;

  $('#calendar').fullCalendar(calendarObj);

});

api.php(简体):

<?php

$events = array(
  array(
    'title' => 'Event 1',
    'start' => '2014-6-1'),
  array(
    'title' => 'Event 2',
    'start' => '2014-7-5'
);

$jsonResponse = json_encode($events);

HttpResponse::sendData(jsonResponse);

?>