我有这么神奇的情况。我正在从MySql(使用Php)检索数据并将其编码为json编码的字符串以插入到jQuery完整日历中。让我们来看看Php script =>
while ($birthday_row = $birthday_r->fetch_row()){
$birthday_array[] = array(
'id' => $birthday_row[0],
'title' => $birthday_row[1],
'start' => "2012-" . $birthday_row[2] . "-" . $birthday_row[3],
);
}
(从MySql检索数据时没有错误,它工作正常)
然后用json_encode
函数对其进行编码,例如this =>
$k = json_encode($birthday_array);
并将其插入jQuery完整日历,这里是JavaScript =>
jQuery("#calendar").fullCalendar({ // initialize full calendar
header: {
left: 'prev,next today',
center: 'title',
right: 'month,basicWeek,basicDay'
},
<?php
echo "events:" . $k . ",";
?>
eventMouseover: function(calEvent,jsEvent,view){
$(this).css("cursor","pointer");
}
});
我想知道的是,在Chrome数据中插入但在其他浏览器中(例如firefox,opera,explorer,safari)它没有。
顺便提一下,$k
变量=&gt;
[{"id":"1","title":"\u10d7\u10dd\u10e0\u10dc\u10d8\u10d9\u10d4 \u10dc\u10d0\u10dc\u10dd\u10d1\u10d0\u10e8\u10d5\u10d8\u10da\u10d8","start":"2012-10-2"},{"id":"2","title":"\u10d2\u10d8\u10dd\u10e0\u10d2\u10d8 \u10d9\u10d0\u10d9\u10d0\u10e8\u10d5\u10d8\u10da\u10d8","start":"2012-10-1"},{"id":"3","title":"\u10e0\u10e3\u10d7\u10d8 root","start":"2012-9-17"},{"id":"4","title":"one one","start":"2012-9-20"},{"id":"7","title":"\u10d2\u10d8\u10dd\u10e0\u10d2\u10d8 \u10d9\u10d0\u10d9\u10d0\u10e8\u10d5\u10d8\u10da\u10d8","start":"2012-9-5"},{"id":"8","title":"\u10d2\u10d8\u10dd\u10e0\u10d2\u10d8 \u10d0\u10e4\u10e0\u10d8\u10d0\u10e8\u10d5\u10d8\u10da\u10d8","start":"2012-1-16"}]
我不知道我做错了什么,但事实是结果让我感到疑惑。请帮助任何想法!先谢谢
答案 0 :(得分:0)
我已经找到了问题的原因。在chrome json编码的字符串中输出是多么令人惊奇,输出就像这样=&gt;
[{"id":"1","title":"some","start":"2012-5-9"}]
工作正常,但在其他浏览器中,如firefox,opera,safari,explorer,它不起作用。 原因是日期的格式。在上述浏览器中,如果必须格式化为this =&gt;
[{"id":"1","title":"some","start":"2012-05-09"}]
所以这是2012-5-9
和2012-05-09
之间的区别。我真的没有这样的情况,谢谢,如果有人想帮助我,并在我的问题中浪费时间