谷歌可视化API在本地工作,但不在外部服务器上工作
Google Visualization API working locally, but not on external server?
我正在构建一个动态饼图来使用 Google 可视化 API 和 jQuery 显示选举结果,我让它(有点)在我的本地机器上工作,并希望获得一些反馈,所以将其上传到外部服务器,现在我尝试加载的所有内容都给我一个"无数据"错误。
我有两个文件,一个从数据库中获取数据并将其转换为 JSON,另一个显示可视化效果,具体取决于检查的区域。你可以在这里看到它:
http://www2.lichfielddc.gov.uk/sandbox/pie.php?electionid=14
有什么想法我哪里出错了吗?
干杯
我想我可能正在做某事。
我下载了它并在本地进行了测试,正如您所说,它工作正常。但是,在我使用的数据源(data.php)中,如果我放置延迟(sleep(1)),它就会停止工作。我认为这是因为您正在从 ajax 成功回调中绘制图表。
试试这个:
function drawVisualization() {
$('.poll').click(function() {
var data = new google.visualization.DataTable();
data.addColumn('string', 'Party');
data.addColumn('number', 'Votes');
var polls = [];
$('.poll:checked').each(function(){
polls.push(this.value);
});
polls.join(",");
url = "http://www2.lichfielddc.gov.uk/sandbox/piedata.php?pollid=" + polls;
$.getJSON(url, function(d) {
data.addRows(d.length);
var items = [];
var num = 0;
$.each(d, function(i, o) {
console.log(o);
data.setValue(num, 0, o['party']);
data.setValue(num, 1, o['votes']);
num++;
});
new google.visualization.PieChart(document.getElementById('visualization')).
draw(data);
});
});
单步执行代码:当你调用 draw() 方法时,对象 'data' 中没有数据。这可能是因为对数据对象的修改不在同一范围内。
我同意 Tribal 的观点,这是一个时间问题,因为实时版本有时确实有效。还有其他几个潜伏的错误,它们不是呈现问题的背后,但是......
polls.join(",");
url = "http://www2.lichfielddc.gov.uk/sandbox/piedata.php?pollid=" + polls;
polls.join()
返回一个字符串,它不会就地执行联接。而且url
没有被声明为局部变量
相关文章:
- JavaScript-在手机上不工作的情况下,在外部单击时隐藏元素
- appendChild在函数外部工作,但在函数内部不工作
- 我的代码在<脚本>标记,但没有'不能在外部文件中工作
- 在html文件中添加了多个外部javascript,其中一个停止工作
- 无法让 javascript 从外部文件工作
- 当我添加Mootools时,外部JS库停止工作
- 如何使toggleClass()在元素外部单击时工作
- 为什么不是'当试图使用Ajax和外部PHP文件发布内容时,我的表单工作不正常,该文件接收两个字符串
- CSS和Javascript可以在内部服务器上工作,但不能在外部工作
- 全局变量确实'在script标记中的外部.js文件之后,nt工作
- Kinetic JS无法从外部脚本文件中工作
- 使ng-show/ng-hide与由Angular之外的外部源修改的localStorage一起工作
- 内部链接返回空错误,我在 Javascript 中找不到错误.外部链接工作得很好
- Javascript 嵌入外部工作表
- 如何将整个页面保存为一个文件,以便它离线工作(包括外部javascript)
- 函数外部的 clearTimeout() 无法正常工作
- 无法在扩展程序之间获取 chrome.runtime.onMessage外部工作
- Javascript API在主站点上运行良好,但在外部服务器上无法正常工作
- Java 脚本不适用于外部工作表,但它适用于主 html 文件.为什么会这样,我该如何解决
- 内联Javascript可以工作,但在外部不起作用