【问题标题】:AngularJS calling xml file and processing dataAngularJS调用xml文件并处理数据
【发布时间】:2015-07-28 00:20:48
【问题描述】:

我通常是 javascript 编码的新手,我在使用自定义 xml 文件创建角度图表时遇到了一些问题。我正在使用 x2js 将我的 xml 文件转换为 json,以便在图表的数据中使用。在我的plnkr 中,我创建了一个角度服务,并结合了 x2js 来转换我的 xml 文件。

app.js文件中,我回调了服务中的函数,将数据解析成图表数据所需的片段。我不确定我是否正确地做到了这一点,但一个问题可能在于value 元素中的parseInt() 函数。我包含了这个解析函数,因为我注意到我的数据值周围可能有引号,这可能会干扰图表库所需的数据格式。 $scope.dataOne$scope.dataTwo 是我想要用来创建两个不同图表的两组数据。

注意:我使用了来自plnkr 的 krispo 模板,并对其进行了扩展以在我的代码中包含我需要的东西。如果需要,我还使用了这个documentation

我的代码中似乎有错误。我没有解析所有的数据,只够创建两对数据来测试图表。什么都没有出现。

任何帮助将不胜感激,因为我是编程新手,以前只使用过 python。

编辑:它还活着(在 plnkr 中)! xml 必须已正确转换,因为现在图表上方的选择菜单显示 xml 数据中的系列。但是图表没有出现。我遇到了障碍,因为当我尝试在浏览器中打开文件以查找错误所在时,它给了我以下错误:

XMLHttpRequest cannot load file:///C:/Users/Nicholas/Desktop/logixdata/new%20website/newchart/data.xml.
Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https, chrome-extension-resource.

还有这个:

Error: Failed to execute 'send' on 'XMLHttpRequest': Failed to load 'file:///C:...the path...'.
    at Error (native) 

我越来越接近解决方案,但我已将其范围缩小到 app.js 文件中的 DataSource.get().success(function(data){ 代码段中的某个位置。

【问题讨论】:

  • 请提供您的代码。如果可能的话,使用 firebug(for Firefox) , chrome developers tool (for chrome) 并获取确切的 JavaScript 错误并在此处发布。
  • 代码在plnkr链接中。我认为最好把它放在那里而不是把它贴在这里,因为有几个冗长的文件。这是链接:plnkr.co/edit/m42wOY?p=preview。另外我会找到浏览器给我的错误并将它们发布在这里
  • 你在Datasource 注入中有错字应该是DataSource。 xml 也无效
  • 现在它告诉我数据未在第 55 行定义。无效 xml 是什么意思?我需要做什么来修复它? @charlietfl
  • 好的,我已经验证了 xml 文件。谢谢。

标签: javascript xml angularjs charts nvd3.js


【解决方案1】:

我找到了解决方案。我制作的所有$scope 数据元素都必须在DataSource 函数内,该函数正在回调xml 转换服务函数。在那里我解析了所有数据。我还错过了我的符号中的一个规范 - 例如,我有 data.Header.data[0].y,其中 y 键保存图表的数据值。我忘记了y 的值是一个数组,所以我必须为每个赋值指定我想要的值(例如data.Header.data[0].x[1])。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多