如果我的JSON数据文件来自数据库结果集并且结果集为空,我如何告诉OFC2显示错误消息,而不是因为格式错误的JSON字符串而崩溃?
答案 0 :(得分:0)
为此问题添加javascript和actionscript-3的标记,您应该获得比当前更多的视图和有用的响应,并提供比我给出的更精确的详细信息。发布导致问题的实际JSON字符串,并且您希望防范它。这样人们可以建议使用regexp来捕获它,在 JSON.decode()发生之前将它作为字符串而不是作为JSON数据处理。
更详细:
你可以在两个地方捕获它。一种方法是切换到使用到OFC2的javascript接口,并使用客户端javascript来检测坏字符串。这允许您修改JSON字符串客户端。有关该方法,请参阅http://teethgrinder.co.uk/open-flash-chart-2/tutorial-5.php。一个缺点是客户端必须启用javascript才能使用。
或者,由于OFC2是LGPL,您或者动作开发人员可以深入了解OFC2源代码并在那里做同样的事情。我不是一个动作开发者,所以你最好确保你得到一个回复。
主要是将这两个标签添加到此问题中。对于一个500的赏金问题,22次观点太低了。希望这会有所帮助。
答案 1 :(得分:0)
可以使用多种解决方案,具体取决于您对服务器的访问级别以及您对JavaScript和/或任何服务器端平台的了解。
访问数据库 根据您显示的数据类型,可能会为那些原本会返回空集的查询添加虚拟记录。如果您有权访问查询定义,则可以在DB查询中检查空集。例如,如果您使用的是MS SQL Server,则可以使用某些T-SQL语句检查条件。
访问服务器 如果您有权访问生成数据集的服务器端脚本,请添加一个条件,该条件返回OFC2将正确处理的某些默认值。
访问其他服务器或服务器位置 如果您无权访问特定脚本,则可以考虑在查询原始脚本的其他位置创建新脚本,并使用默认值替换空结果。
仅限客户端
您可以添加JavaScript open_flash_chart_data
函数(请参阅tutorial)来替换空数据集。 OFC2可以将该函数用作数据源。
希望这有帮助。