好!!!对不起,我倒了英语。
这是我的弹药问题。我正在用新的proyect做一些图形处理。
该项目基于MVC和PHP5。
我们确实获得了结果:
// var chartData = AmCharts.loadJSON(baseurl +'libs / jsonvalueconsumption.php?id = ...);
在amcharts的示例中给出了使用Amcharts.loadjson函数witch的方法。
但是现在我们正在通过AJAX进行操作。问题????
我们得到了相同的结果,并且代码的所有步骤都相同,但是控制台引发了一个问题:
无法读取未定义的amstock.js.pagespeed.ce.sQT2FSFmcG.js的属性“ construct”:49
这是我们的js,必须在div上绘制图形:
//AmCharts.ready(function() {
var firstData = $.ajax({
type: 'POST',
url: baseurl+'action/charts/SOME_FUNCTION',
data: { id : id },
dataType: 'JSON',
async: false,
success: function(getdata) {
return getdata;
}
}).responseText;
chart = new AmCharts.AmStockChart();
chart.pathToImages = "http://www.amcharts.com/lib/images/";
chart.dataDateFormat = "YYYY-MM-DD h:i:s";
var obj = JSON.parse(firstData);
for(i=0;i<obj.length;i++) {
var id_something = obj[i]['id'];
var secondData = $.ajax({
type: 'POST',
url: baseurl+'action/charts/ANOTHER_SOME_FUNCTION',
data: { id_something : id_something, value1 : value1, value2 : value2 },
dataType: 'JSON',
async: false,
success: function(getdata) {
return getdata;
}
}).responseText;
var chartData = JSON.parse(secondData);
var dataSet = new AmCharts.DataSet();
dataSet.title = obj[i]['name'];
dataSet.fieldMappings = [{
fromField: "value",
toField: "value"
}, {
fromField: "volume",
toField: "volume"
}];
dataSet.dataProvider = chartData;
dataSet.categoryField = "date";
chart.dataSets.push(dataSet);
}
// first stock panel
var stockPanel1 = new AmCharts.StockPanel();
stockPanel1.showCategoryAxis = false;
stockPanel1.title = "Valor";
stockPanel1.percentHeight = 70;
// graph of first stock panel
var graph1 = new AmCharts.StockGraph();
graph1.valueField = "value";
graph1.comparable = true;
graph1.compareField = "value";
graph1.compareGraphBalloonText="[[value]] kwh"; //mostrar las unidades de medida en el balloon de las comparaciones
graph1.balloonText= "[[value]] kwh"; //mostrar las unidades de medida en el balloon
stockPanel1.addStockGraph(graph1);
// create stock legend
stockPanel1.stockLegend = new AmCharts.StockLegend();
stockPanel1.stockLegend.valueTextRegular="[[value]] kwh"; ////mostrar las unidades de medida en el legend
// second stock panel
var stockPanel2 = new AmCharts.StockPanel();
stockPanel2.title = "Volumen";
stockPanel2.percentHeight = 30;
var graph2 = new AmCharts.StockGraph();
graph2.valueField = "volume";
graph2.type = "column";
graph2.showBalloon = false;
graph2.fillAlphas = 1;
stockPanel2.addStockGraph(graph2);
stockPanel2.stockLegend = new AmCharts.StockLegend();
stockPanel2.stockLegend.valueTextRegular="[[value]] kwh"; ////mostrar las unidades de medida en el legend
// set panels to the chart
chart.panels = [stockPanel1, stockPanel2];
// OTHER SETTINGS ////////////////////////////////////
var scrollbarSettings = new AmCharts.ChartScrollbarSettings();
scrollbarSettings.graph = graph1;
scrollbarSettings.updateOnReleaseOnly = true;
scrollbarSettings.usePeriod = "10mm";
chart.chartScrollbarSettings = scrollbarSettings;
var cursorSettings = new AmCharts.ChartCursorSettings();
cursorSettings.valueBalloonsEnabled = true;
chart.chartCursorSettings = cursorSettings;
// PERIOD SELECTOR ///////////////////////////////////
var periodSelector = new AmCharts.PeriodSelector();
periodSelector.periods = [{
period: "hh",
count: 24,
label: "ddd"
}, {
period: "hh",
count: 48,
label: "dd"
}, {
period: "hh",
count: 120,
label: "ddd"
}, {
period: "hh",
count: 240,
label: "dia"
}, {
period: "MAX",
label: "MAX"
}];
chart.periodSelector = periodSelector;
var panelsSettings = new AmCharts.PanelsSettings();
panelsSettings.usePrefixes = true;
chart.panelsSettings = panelsSettings;
// DATA SET SELECTOR
var dataSetSelector = new AmCharts.DataSetSelector();
dataSetSelector.position = "left";
chart.dataSetSelector = dataSetSelector;
chart.write('chartdiv');
});
如果有人需要更多信息或有解决方案,那就太好了!!!谢谢
php大神给出的解决方案
我确实遇到了同样的错误,解决方案非常简单:
在amCharts文件夹中,您将找到三个.js文件:“ amcharts.js”,“ amstock.js”和“ serial.js”。
您必须确保将它们包含在此严格序列中的html代码中(此处顺序很重要):
amcharts.js,serial.js,amstock.js
就这样 ;-)
验证php中的javascript对象 - php在我的用户界面中,用户可以构建一些javascript对象,例如:var box = { "width": "100px", "height": "200px", "click": function () { alert("You clicked t…
为什么我的注册表单可以在除Firefox之外的所有浏览器中使用? - php在这里可用:http://syllableapp.com/test基本上,在Safari,Chrome,Opera,Webkit Nightly等中,表单可以完美地按预期工作。但是,在Firefox中,提交时只是...不执行任何操作。为什么是这样?这是我的JavaScript:$(document).ready(function() { $('in…
wp_mail返回true,但未收到邮件 - php我正在使用wp_mail()来接收通过wordpress博客中的联系表单提交的邮件。 wp_mail()返回true,但问题是我没有收到任何邮件。我也尝试将邮件地址从gmail更改为hotmail,但没有运气。联系人模板中的Ajax代码$('#send').click(function() { //For Validation funct…
哪个更好的做法?从Jquery响应获取HTML - php这只是一个问题,以了解人们如何以及如何做到这一点,但是假设用户向列表中添加了一些内容,完成后,它将运行下面的ajax并更新.user-stream-list$.ajax({ url: "user-stream-list.php", success: function(data){ $(".user-stream-list…
jQuery-根据用户输入显示/隐藏 - php我的页面上有以下div:<div id="page1"> Some content </div> <div id="page2"> More content </div> <div id="page3"> Even more content…