через php делаю json, в console.log(json) выводит данные, но выдает ошибку
dashboard.php?sid=bca10dac-9160-49b9-9989-871364a0401d&pGraphID=1:199 Uncaught TypeError: Cannot read property 'length' of undefined
at Object.success (dashboard.php?sid=bca10dac-9160-49b9-9989-871364a0401d&pGraphID=1:199)
at i (jquery-3.2.1.min.js:2)
at Object.fireWith [as resolveWith] (jquery-3.2.1.min.js:2)
at A (jquery-3.2.1.min.js:4)
at XMLHttpRequest.<anonymous> (jquery-3.2.1.min.js:4)
json такого формата
{"data":[{"X":"01 (21.06.19-27.06.19)","Y":"ДальнийВосток","AMOUNT":"9,52"},{"X":"01 (21.06.19-27.06.19)","Y":"Дирекция Приволжский","AMOUNT":"3,43"},{"X":"01 (21.06.19-27.06.19)","Y":"Краснодар","AMOUNT":"15,88"},{"X":"01 (21.06.19-27.06.19)","Y":"Москва","AMOUNT":"16,65"},{"X":"01 (21.06.19-27.06.19)","Y":"Владивосток","AMOUNT":"12,06"},{"X":"02 (14.06.19-20.06.19)","Y":"ДальнийВосток","AMOUNT":"10,19"},{"X":"02 (14.06.19-20.06.19)","Y":"Дирекция Приволжский","AMOUNT":"3,91"},{"X":"02 (14.06.19-20.06.19)","Y":"Краснодар","AMOUNT":"18,41"},{"X":"02 (14.06.19-20.06.19)","Y":"Москва","AMOUNT":"17,27"},{"X":"02 (14.06.19-20.06.19)","Y":"Владивосток","AMOUNT":"12,26"},{"X":"03 (07.06.19-13.06.19)","Y":"ДальнийВосток","AMOUNT":"9,57"},{"X":"03 (07.06.19-13.06.19)","Y":"Дирекция Приволжский","AMOUNT":"4,03"},{"X":"03 (07.06.19-13.06.19)","Y":"Краснодар","AMOUNT":"14,94"},{"X":"03 (07.06.19-13.06.19)","Y":"Москва","AMOUNT":"14,32"},{"X":"03 (07.06.19-13.06.19)","Y":"Владивосток","AMOUNT":"8,9"},{"X":"04 (31.05.19-06.06.19)","Y":"ДальнийВосток","AMOUNT":"10,54"},{"X":"04 (31.05.19-06.06.19)","Y":"Дирекция Приволжский","AMOUNT":"4,01"},{"X":"04 (31.05.19-06.06.19)","Y":"Краснодар","AMOUNT":"18,11"},{"X":"04 (31.05.19-06.06.19)","Y":"Москва","AMOUNT":"14,5"},{"X":"04 (31.05.19-06.06.19)","Y":"Владивосток","AMOUNT":"13,01"},{"X":"05 (24.05.19-30.05.19)","Y":"ДальнийВосток","AMOUNT":"11,98"},{"X":"05 (24.05.19-30.05.19)","Y":"Дирекция Приволжский","AMOUNT":"10,53"},{"X":"05 (24.05.19-30.05.19)","Y":"Краснодар","AMOUNT":"18,89"},{"X":"05 (24.05.19-30.05.19)","Y":"Москва","AMOUNT":"13,72"},{"X":"05 (24.05.19-30.05.19)","Y":"Владивосток","AMOUNT":"11,02"},{"X":"06 (17.05.19-23.05.19)","Y":"ДальнийВосток","AMOUNT":"9,03"},{"X":"06 (17.05.19-23.05.19)","Y":"Дирекция Приволжский","AMOUNT":"3,98"},{"X":"06 (17.05.19-23.05.19)","Y":"Краснодар","AMOUNT":"17,56"},{"X":"06 (17.05.19-23.05.19)","Y":"Москва","AMOUNT":"12,99"},{"X":"06 (17.05.19-23.05.19)","Y":"Владивосток","AMOUNT":"8,64"},{"X":"07 (10.05.19-16.05.19)","Y":"ДальнийВосток","AMOUNT":"7,89"},{"X":"07 (10.05.19-16.05.19)","Y":"Дирекция Приволжский","AMOUNT":"3,87"},{"X":"07 (10.05.19-16.05.19)","Y":"Краснодар","AMOUNT":"11,29"},{"X":"07 (10.05.19-16.05.19)","Y":"Москва","AMOUNT":"10,18"},{"X":"07 (10.05.19-16.05.19)","Y":"Владивосток","AMOUNT":"9,82"},{"X":"08 (03.05.19-09.05.19)","Y":"ДальнийВосток","AMOUNT":"6,16"},{"X":"08 (03.05.19-09.05.19)","Y":"Дирекция Приволжский","AMOUNT":"2,98"},{"X":"08 (03.05.19-09.05.19)","Y":"Краснодар","AMOUNT":"10,76"},{"X":"08 (03.05.19-09.05.19)","Y":"Москва","AMOUNT":"10,93"},{"X":"08 (03.05.19-09.05.19)","Y":"Владивосток","AMOUNT":"6,67"},{"X":"09 (26.04.19-02.05.19)","Y":"ДальнийВосток","AMOUNT":"9,31"},{"X":"09 (26.04.19-02.05.19)","Y":"Дирекция Приволжский","AMOUNT":"4,31"},{"X":"09 (26.04.19-02.05.19)","Y":"Краснодар","AMOUNT":"9,58"},{"X":"09 (26.04.19-02.05.19)","Y":"Москва","AMOUNT":"7,85"},{"X":"09 (26.04.19-02.05.19)","Y":"Владивосток","AMOUNT":"7,75"},{"X":"10 (19.04.19-25.04.19)","Y":"ДальнийВосток","AMOUNT":"9,16"},{"X":"10 (19.04.19-25.04.19)","Y":"Дирекция Приволжский","AMOUNT":"4,25"},{"X":"10 (19.04.19-25.04.19)","Y":"Краснодар","AMOUNT":"10,97"},{"X":"10 (19.04.19-25.04.19)","Y":"Москва","AMOUNT":"10,28"},{"X":"10 (19.04.19-25.04.19)","Y":"Владивосток","AMOUNT":"15,27"},{"X":"11 (12.04.19-18.04.19)","Y":"ДальнийВосток","AMOUNT":"9,12"},{"X":"11 (12.04.19-18.04.19)","Y":"Дирекция Приволжский","AMOUNT":"4,32"},{"X":"11 (12.04.19-18.04.19)","Y":"Краснодар","AMOUNT":"9,3"},{"X":"11 (12.04.19-18.04.19)","Y":"Москва","AMOUNT":"9,47"},{"X":"11 (12.04.19-18.04.19)","Y":"Владивосток","AMOUNT":"10,27"}]}
ошибка в for (var i = 0; i < json.data.length; i++), как его можно исправить?
<script>
jQuery(function() {
$.ajax({
url:'graphid.php'
, type:'GET'
, data: {Sid:$("#Sid").val()}
, success: function (json) {
console.log(json);
result=JSON.parse(json);
if (result.hasOwnProperty("error")){
alert(result.error);
}else{
var xLabels = [];
var someData = [];
var colors =[
'rgba(255,99,132,1)',
'rgba(54, 162, 235, 1)',
'rgba(255, 206, 86, 1)',
'rgba(75, 192, 192, 1)',
'rgba(153, 102, 255, 1)'
];
var backcolors =['rgba(255, 99, 132, 0.2)',
'rgba(54, 162, 235, 0.2)',
'rgba(255, 206, 86, 0.2)',
'rgba(75, 192, 192, 0.2)',
'rgba(153, 102, 255, 0.2)'];
var g = 0;
var options = {
responsive: true,
maintainAspectRatio: false,
scaleStartValue: 0,
scaleStepWidth: 50,
defaultFontFamily : "'Open Sans', sans-serif",
defaultFontSize : 12,
defaultFontStyle : "bold",
defaultFontColor : "#545454",
scales: {
xAxes: [{
gridLines: {
display: true,
color: "#CCC8BC",
lineWidth: 1,
zeroLineWidth: 1,
zeroLineColor: "#2C292E",
drawTicks: true,
tickMarkLength: 1
},
ticks: {
fontFamily: "'Open Sans', sans-serif",
fontSize: 12,
fontStyle: "bold",
fontColor: "#545454"
}
}],
yAxes: [{
display: true,
ticks: {
beginAtZero: true,
steps: 10,
stepValue: 5,
max: 10
}
}]
}
};
for (var i = 0; i < json.data.length; i++) {
// console.log(json.data[i].x);
if ($.inArray(json.data[i]['X'], xLabels) == -1) {
xLabels.push(json.data[i]['X']);
}
var name = json.data[i]['Y'];
var found = false;
var zz;
for (var z = 0; z < someData.length; z++) {
if (someData[z].label == name) {
found = true;
zz = z;
break;
}
}
if (!found) {
someData.push({
label: name,
data: [],
backgroundColor: backcolors[g],
borderColor: colors[g],
fill: -1
});
g++;
zz = someData.length - 1;
}
var amount = json.data[i]['AMOUNT'].replace(',', '.');
someData[zz].data.push(amount);
}
var config = {
type: 'line',
data: {
labels: xLabels,
datasets: someData,
},
options: options
};
var ctx = document.getElementById('myChart').getContext('2d');
new Chart(ctx, config);
};
}});
});
</script>
Ошибка Cannot read property '…' of undefined
означает, что вы пытаетесь обратиться к свойству не инициализированного объекта.
Если ошибка в строке for (var i = 0; i < json.data.length; i++)
, значит data
у нас undefined. Вероятнее всего, у json
просто нет такого свойства.
Судя по листингу json
- просто текст ответа. Вероятнее всего вместо json
должна использоваться переменная result
(result=JSON.parse(json)
)
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Про метод onRestart() сказано что он выполняется перед onStart если активити восстанавливается из состояния stoppedУ меня в программе есть 2 активити...
Почему литерал типа double (подходящий для float) не авто-преобразовывается в float? Но при этом, аналогичным образом, подходящий литерал int авто-преобразовывается...
не помогло and others didnt help? i work with phpmyAdmin? help me(другие случаи не работают) когда была локальная базаданных, все работало нормально, вот ссылка