У меня есть данные из базы данных, которые я положил через json_encode
со следующим кодом:
$orderList = $this->Retrieve->retrieve_data('*');
$data = array();
foreach ($orderList as $order) {
array_push($data, array(
'd' => $order['createdDate'],
'sales' => $order['order_price']
));
}
echo json_encode(array('data' => $data));
Это вывод:
{"data":[{"d":"2015-09-26","sales":"0.00"},{"d":"2015-09-26","sales":"200.00"},{"d":"2015-09-26","sales":"45.00"},{"d":"2015-09-26","sales":"1500.00"}]}
И это мой код Javascript:
$.ajax({
url: baseURL + '/Memberinfo/getGraphicalActivity',
cache: false,
type: "POST",
data: {patientFK: $("#patientFK").val()},
dataType: "json",
timeout:3000,
success : function (data) {
memberArea = new Morris.Line({
element: 'line-chart-memberInfo',
data: data,
xkey: 'd',
ykeys: ['sales'],
labels: ['Sales'],
smooth: false,
parseTime:false,
resize: true
});
},
error : function (xmlHttpRequest, textStatus, errorThrown) {
alert("Error " + errorThrown);
if(textStatus==='timeout')
alert("request timed out");
}
});
Возвращает эту ошибку:
Uncaught TypeError: Невозможно прочитать свойство ‘x’ из неопределенного
Почему это происходит?
Проблема заключалась в том, как я строил свои данные JSON в PHP. Вот код:
foreach ($orderList as $order) {
$arr[] = array(
'd' => ''.$order['createdDate'].'',
'sales' => ''.$order['order_price'].'',
);
}
echo json_encode($arr);
Других решений пока нет …