我想从数据库中加载事件日历,我在网上得到了这段代码,并且运行得很好。
我的javascript:
$('#mycalendar').monthly({
mode: 'event',
jsonUrl: 'http://localhost/acadasuite_mobile/www/calendar.php',
dataType: 'json'
});我的PHP
$startdate = "2016-10-6";
echo '{
"monthly": [
{
"id": 2,
"name": "This is a JSON event",
"startdate": "2016-10-6",
"enddate": "",
"starttime": "12:00",
"endtime": "2:00",
"color": "#EF44EF",
"url": ""
}
]
}';上面的效果很好。但是,如果我将"2016-10-6“改为”.$startdate“,它将不再起作用。
即。“开始日期”:‘.$startdate’
请注意,问题是什么?是javascript没有解释变量$startdate或PHP吗?
发布于 2016-10-18 18:33:28
PHP不会解释用单引号表示的字符串中的变量。在外部切换到双引号,并在内部避开双引号。
或者,使用字符串连接:
$startdate = "2016-10-6";
echo '{
"monthly": [
{
"id": 2,
"name": "This is a JSON event",
"startdate": "'.$stardate.'",
"enddate": "",
"starttime": "12:00",
"endtime": "2:00",
"color": "#EF44EF",
"url": ""
}
]
}';发布于 2016-10-18 18:36:51
你忘了引用:
"startdate": "2016-10-6", etc...变成了
"startdate": ' . $stardate . ', etc..产生
"startdate":2016-10-6, etc...它是,而不是有效的JSON。Json只能表示值,不能表示表达式。即使支持表达式,这也是一个数学减法,您将把值2000放入startdate中。
你需要引号:
"startdate": "' . $startdate . '",
^------------------^以显示(J)子项/(P)hp的划定是在何处:
"startdate": "' . $startdate . '",
jjjjjjjjjjjjjjppppppppppppppppppjjhttps://stackoverflow.com/questions/40115533
复制相似问题