来自MySQL的JSON提要有效,但不能用于多于x个记录

问题描述

|| 我正在尝试让FullCalendar与我的MysqL数据库一起使用。当我将查询限制为25条记录时,此方法有效。当我将SQL查询更改为限制(例如35条记录)时,Fullcalendar不会添加任何事件,并且基本上会保持加载状态。 我用萤火虫检查了JSON响应是什么,两次都完成了。 起初我以为问题是SQL查询。该数据库有5000多个记录,但是JSON响应的加载时间不到200ms。 我正在使用演示json.html文件进行测试。将在此处发布函数
<script type=\'text/javascript\'>
$(document).ready(function() {
    $(\'#calendar\').fullCalendar({
        editable: true,events: \"json-events.PHP\",eventDrop: function(event,delta) {
            alert(event.title + \' was moved \' + delta + \' days\\n\' +
                \'(should probably update your database)\');
        },loading: function(bool) {
            if (bool) $(\'#loading\').show();
            else $(\'#loading\').hide();
        }
    });
});
</script>
这是我的json-events.PHP
<?PHP
    $conn = MysqL_connect(\"\") or die (\"Unable to connect to MysqL server.\");

    $Exec = MysqL_query(\"select Brand,date_in from planning ORDER BY date_in Desc Limit 35\",$conn) or die(MysqL_error());
    MysqL_close();

    $events = array();

    while($row = MysqL_fetch_assoc($Exec)) {
        $eventArray[\'title\'] = $row[\'Brand\'];
        $eventArray[\'start\'] = $row[\'date_in\'];
        $eventsArray[\'allDay\'] = \"\";
        $events[] = $eventArray;
    }

    header(\'Content-type: application/json\');

    echo json_encode($events);
?>
这是JSON响应:   [{\“ title \”:\“ Volkswagen Passat \”,\“ start \”:\“ 2011-04-28 \”},{\“ title \”:\“ Seat Alhambra \”,\“ start \ “:\” 2011-04-28 \“},{\” title \“:\” Ford Focus \“,\” start \“:\” 2011-04-20 \“},{\” title \“ :\“ BMW 5-Serie \”,\“开始\”:\“ 2011-04-20 \”},{\“标题\”:\“福特蒙迪欧\”,\“开始\”:\“ 2011 -04-20 \“},{\” title \“:\” Volkswagen Caddy \“,\” start \“:\” 2011-04-20 \“},{\” title \“:\” Opel Zafira \“,\”开始\“:\” 2011-04-18 \“},{\”标题\“:\”马自达3 \“,\”开始\“:\” 2011-04-14 \“} ,{\“ title \”:\“ Opel Vectra \”,\“ start \”:\“ 2011-04-14 \”},{\“ title \”:\“ Peugeot 207 \”,\“ start \ “:\” 2011-04-14 \“},{\” title \“:\” Volkswagen Golf \“,\” start \“:\” 2011-04-14 \“},{\” title \“ :\“ Volvo V90 \”,\“ start \”:\“ 2011-04-14 \”},{\“ title \”:\“ Volvo V50 \”,\“ start \”:\“ 2011-04 -14 \“},{\” title \“:\” Volkswagen Polo \“,\”开始\“:\” 2011-04-14 \“},{\” title \“:\” Volkswagen Golf \“ ,\“开始\”:\“ 2011-04-14 \”},{\“标题\”:\“福特蒙迪欧\”,\“开始\”:\“ 2011-04-14 \”},{ \“ title \”:\“ Audi \”,\“ start \”:\“ 2011-04-14 \”},{\“ title \”:\“ BMW 525i \”,\“ start \”:\ “ 2011-04-14 \”},{\“ title \”:\“ Renault Laguna \ “,\” start \“:\” 2011-04-14 \“},{\” title \“:\” Opel Astra \“,\” start \“:\” 2011-04-14 \“}, {\“ title \”:\“ Seat Alambhra \”,\“ start \”:\“ 2011-04-14 \”},{\“ title \”:\“ Peugeot 307 \”,\“ start \” :\“ 2011-04-13 \”},{\“ title \”:\“ Hyundai Atos \”,\“ start \”:\“ 2011-04-13 \”},{\“ title \”: \“ Citroen XSara Picasso \”,\“开始\”:\“ 2011-04-13 \”},{\“标题\”:\“ Opel Astra \”,\“开始\”:\“ 2011-04 -13 \“},{\” title \“:\” Volkswagen Golf \“,\” start \“:\” 2011-04-13 \“},{\” title \“:\” Peugeot 307 \“ ,\“ start \”:\“ 2011-04-13 \”},{\“ title \”:\“ Volkswagen Passat \”,\“ start \”:\“ 2011-04-13 \”},{ \“ title \”:null,\“ start \”:\“ 2011-04-13 \”},{\“ title \”:\“ Citroen C1 \”,\“ start \”:\“ 2011-04 -13 \“},{\” title \“:\” Toyota Camry \“,\” start \“:\” 2011-04-13 \“},{\” title \“:\” Toyota Aygo \“ ,\“开始\”:\“ 2011-04-13 \”},{\“标题\”:\“日产Qashqai \”,\“开始\”:\“ 2011-04-13 \”},{ \“ title \”:\“ BMW 3 Touring \”,\“ start \”:\“ 2011-04-12 \”},{\“ title \”:\“ Toyota Prius \”,\“ start \” :\“ 2011-04-12 \”}] 我尝试了所有可能的方法,花了5个小时来尝试完成这项工作。 有谁知道如何进行这项工作?     

解决方法

看来错误在您的数据库中。 在JSON Feed中,您有一个条目是
{\"title\":null,\"start\":\"2011-04-13\"}
空值可能是阻止您的原因。     ,我想我发现了问题的一部分,名称中的特殊字符在JSON输出中变成了NULLS,例如RenaultMégane之类的名称。所以我将字符集更改为:
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=\"Latin-1\"></meta>
我还更改了JSON并添加了:
mysql_set_charset(\"utf8\");
仍然是一些小问题,但可以!谢谢你的帮助!     

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...