0

这可能是一个可悲的实施开始,但......

我有一个想要传递给 FusionChart 的 XML 字符串,但它失败了(没有错误......)。

控制器代码:尝试从页面中提取 XML

data_url = "[removed URL]/run/custom.xml?start=#{@start_week}&end=#{@end_week}&x=daychart=line&application=#{@application}".html_safe
data_uri = URI::escape(data_url)
@response = RestClient.get(data_uri)
Rails.logger.debug("Data: " + @response.inspect)

查看代码:实例化图表并传递 XML

<script>
     var chart = new FusionCharts("/charts/MSLine.swf", "quality_center_stats", "700", "400", "1", "0");
     chart.setDataXML("<%= @response %>");
     chart.render("quality_center_stats");
</script>

让我知道我是否可以添加更多内容

4

1 回答 1

1

可以是以下任何一种:

  1. XML 包含需要在 DataXML 方法中编码的特殊字符。例如,% 应作为 %25、& 作为 %26、“作为 %26”传递;或&quot;

  2. 确保该 XML 字符串中没有任何换行符。这会破坏 JavaScript 中的字符串(您将在 JavaScript 控制台中收到“未终止的字符串”错误)

  3. 确保传递的 XML 数据符合 FusionCharts Mulit-series 数据格式

  4. 确保您已将 SWF 和 JS 文件放置在正确的路径中并且可以正确访问。(可以通过 Firebug 的 network tab 或者 Chrome 的 Developer Console 查看)

于 2011-09-14T05:17:12.947 回答