1. 当您手动实现后端 API 或按照我们的教程操作时,调度器页面上不显示任何事件。
或
2. 保存更改到后端时遇到困难。
不同平台上导致异常行为的原因和解决方案可能多种多样,本篇文章不涉及所有细节。
本文旨在指导您排查常见问题。当问题被定位和理解后,修复通常较为简单。
1. 打开浏览器开发者工具并重新加载页面。控制台中是否有错误信息?
2. 如果有错误,请评估是否可以自行处理。如果无法解决,请继续下一步。
1. 打开 Network 面板,确保已显示 XHR 请求。
2. 重新加载页面,找到用于从后端加载数据的请求。确认其目标 URL 是否正确,并检查响应状态。
是否有错误?
404 状态表示传递给 scheduler.init
方法的 URL 不正确,或您的应用路由设置存在问题。
选中该请求,查看响应预览或原始响应内容。
响应内容是否符合预期数据格式?
这说明后端代码或数据库连接配置存在问题。
通常,错误响应会包含足够的细节以定位原因。如果遇到通用的 500 server error
,您可能需要临时禁用服务器上的自定义错误页面,以显示实际错误。此操作因平台而异。如果不确定,建议搜索“disable custom error page in <%your server or framework%>”。
请仔细检查 id
、start_date
和 end_date
属性。
id
—— id 相同的事件会被合并。如果有五个事件 id 相同,只会显示一个。
start_date
、end_date
—— 确认日期格式与 date_format 中调度器配置的格式一致。
如果日期格式与调度器预期不符,事件可能因无效日期而无法显示,或显示在错误的日期上。
通常在 scheduler.init
前设置 xml_date
,例如:
scheduler.config.xml_date="%Y-%m-%d %H:%i";
请检查数据库中存储的数据,问题很可能在这里。如果日期格式不一致,可以更新 date_format 配置,或调整序列化任务日期的代码,再发送到客户端。
1. 打开浏览器控制台,运行 scheduler.getEvents()
。
2. 查看控制台输出,应该会显示事件数组。
检查部分记录的 start_date
和 end_date
字段。若显示 invalid date
或出现如 1970、2038 这样的异常年份,说明 date_format 格式有问题。
如果您使用了循环事件扩展,scheduler.getEvents() 只有在指定 from
/to
日期参数时才会返回数据。为检查方便,请临时移除循环事件扩展。
若您使用 Units 或 Timeline 视图,若事件未分配到任何单元或时间线部分,则不会显示。
可通过为 Units view 设置 skip_incorrect:false
检查:
scheduler.createUnitsView({
name:"unit",
...
skip_incorrect:false
});
或为 Timeline view 设置 show_unassigned: true
:
scheduler.createTimelineView({
name:"timeline",
...
show_unassigned: true
});
如确实如此,更新配置并刷新后,事件会显示在 Units/Timeline 视图的第一个部分。接着请检查 Units 或 Timeline 视图的 property
或 y_property
选项,以及事件中的对应属性。
若未发现明显问题,请检查代码,确认事件是否被过滤器隐藏。
如果上述方法均无效,或页面既无事件也无控制台错误,请考虑在我们的论坛发帖或联系技术支持。
请确保附上排查过程中收集的所有信息。
此外,我们的团队需要一个最小可复现的 demo:可以是包含简化应用的独立包(调度器页面、所有必要文件、包含测试数据的数据库备份,或用于加载的静态 JSON 文件),也可以是可直接在浏览器检查问题的在线链接。
返回顶部