1

如果我的 JSON 数据文件来自数据库结果集并且该结果集为空,我如何告诉 OFC2 显示错误消息,而不是因为格式错误的 JSON 字符串而崩溃?

4

2 回答 2

0

为这个问题添加 javascript 和 actionscript-3 的标签,你应该得到比现在更多的视图和有用的响应,比我给出的更精确的细节。发布导致问题的实际 JSON 字符串,并且您希望得到防范。这样,人们可以建议一个正则表达式来捕获它,在JSON.decode() 发生之前的某个时刻将其视为字符串而不是 JSON 数据。

更详细地说:

你可以在两个地方抓住它。一种方法是切换到使用 JavaScript 接口到 OFC2 并使用客户端 JavaScript 来检测错误字符串。这允许您修改 JSON 字符串客户端。有关该方法,请参见http://teethgrinder.co.uk/open-flash-chart-2/tutorial-5.php。一个缺点是客户端必须启用 javascript 才能工作。

或者,由于 OFC2 是 LGPL,您或 actionscript 开发人员可以深入研究 OFC2 源代码并在那里做同样的事情。我不是一个动作脚本开发人员,所以你最好确保你得到一个答复。

主要是将这两个标签添加到这个问题中。对于悬赏 500 的问题来说,22 次浏览量太低了。希望这会有所帮助。

于 2010-11-15T15:24:55.583 回答
0

根据您对服务器的访问级别以及您对 JavaScript 和/或任何服务器端平台的了解,可能有多种解决方案。

可以访问数据库 根据您显示的数据类型,可能会为那些本来会返回空集的查询添加虚拟记录。如果您有权访问查询定义,则可以检查 DB 查询中的空集。例如,如果您在 MS SQL Server 上,您可以使用一些 T-SQL 语句检查条件。

可以访问服务器 如果您可以访问生成数据集的服务器端脚本,请添加一个条件,该条件返回一些默认值,OFC2 将正确处理。

可以访问其他服务器或服务器位置 如果您无权访问特定脚本,则可以考虑在另一个位置创建一个新脚本,以查询原始脚本并将空结果替换为默认值。

仅限客户端 您可以添加 JavaScriptopen_flash_chart_data函数(参见教程)来替换空数据集。OFC2 可以将该函数用作数据源。

希望这可以帮助。

于 2010-11-16T23:57:34.693 回答