【问题标题】:Dojo script loading errorDojo 脚本加载错误
【发布时间】:2013-10-29 20:38:20
【问题描述】:

我们正在使用 Dojox 做一个项目,并且一直在努力加载脚本。我们尝试使用 Google cdn 链接:。

我们还尝试将工具包导入到我们的项目中。但是,失败了。给出“未捕获的引用错误”。任何帮助表示赞赏。 以下是我的代码:

<!doctype html>
<html>
<head>
<script src="dojo-release-1.9.1/dojox/charting"></script>
<script type="text/javascript">
  require(['dojox/charting/Chart2D','dojox/charting/axis2d/Default','dojox/charting/plot2d/De    fault','dojox/charting/plot2d/Spider','dojox/charting/axis2d/Base'],function(Chart,     Default, Default, Spider, Base){
     var chart = new dojox.charting.Chart("test");
     chart.addPlot("default", {
     type:         "Spider",
     labelOffset:      -10,
     seriesFillAlpha:     0.2,
     markerSize:       3,
     precision:         0,
     spiderType:          "polygon"
 }); 


var data= [ {"CPU Utilization":1,"NetworkIn":444,"DiskReadBytes":1.00002,"NetworkOut":360.00001,"DiskWriteBytes":1.00002},
{"CPU Utilization":1.0001,"NetworkIn":444,"DiskReadBytes":1.0002,"NetworkOut":360.00001,"DiskWriteBytes":1},
{"CPU Utilization":1,"NetworkIn":486.00002,"DiskReadBytes":1.00001,"NetworkOut":360.00001,"DiskWriteBytes":1} ];


chart.addSeries("min", {data: data[0] }, { fill: "blue" });
chart.addSeries("max", {data: data[1] }, { fill: "blue" });
chart.addSeries("USA", {data: data[2] }, { fill: "blue" });

chart.render();
chart.removeSeries("min");
chart.removeSeries("max");
});
</script>
</head>
<body><div id="test" style="width: 400px; height: 240px; margin: 30px auto 0px auto;">       </div></body>
</html>

【问题讨论】:

  • Google CDN 链接似乎没有出现在您的帖子中。您得到的完整错误是什么?

标签: javascript dojo


【解决方案1】:
<script src="dojo-release-1.9.1/dojox/charting"></script>

您确定上述方法确实有效吗?我认为您需要包括所有 Dojo。 Google CDN 链接为//ajax.googleapis.com/ajax/libs/dojo/1.9.1/dojo/dojo.js;试试看是否有帮助。


require 回调是接受依赖列表中模块的参数,而不是 dojo.ready 调用。 您也不能在回调列表中复制参数,就像您对Default 所做的那样。因此,您的 require 调用应如下所示。

require([
    'dojox/charting/Chart2D',
    'dojox/charting/axis2d/Default',
    'dojox/charting/plot2d/Default',
    'dojox/charting/plot2d/Spider',
    'dojox/charting/axis2d/Base'
], function(Chart, DefaultAxis, DefaultPlot, Spider, Base) {

你的dojo.ready 调用不应该带任何参数。您还可以像所有其他人一样将dojo/ready 包含为依赖项,或者使用dojo/domReady! 插件。无论如何,它不会将您的依赖项作为参数,否则它们将被覆盖。它应该类似于以下内容。

dojo.ready(function () {

除了requirescript 标记的上述问题之外,代码看起来可以正常工作。 Here's a fiddle of the working code with Dojo 1.9 and the dojo/domReady! plugin to make it a little cleaner。注意包含一个 id 为 test 的 div。我不确定您是否只是没有将该文件的其余部分粘贴到您的问题中,或者它是否实际上丢失了。控制台中的 SVG 渲染器有一堆错误,但图表可以正常工作。

【讨论】:

  • 抱歉,贴错了sn-p。我们没有 dojo.ready()。编辑了代码sn-p。
  • 是的,我错过了一些 Html 标签。现在,做对了。道歉!它适用于小提琴。但是,仍然无法在我的系统上运行。我尝试包含给定的 CDN 链接。它说“加载资源失败:服务器响应状态为 404(未找到)”和“未捕获的 ReferenceError:未定义要求”
  • 该错误意味着 Dojo 没有加载。如果您尝试在本地加载 Dojo,dojo-release-1.9.1/dojox/charting 是正确的位置吗?至少根据那个错误,它似乎不是。我还在我的帖子中更新了 Google CDN 链接。
  • 谢谢,确实是cdn链接出错了。这是完美的。非常感谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-06-20
  • 1970-01-01
  • 2014-05-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多