我尝试从数据库值生成简单的图表。我使用 AJAX 从数据库获取值并将其返回给 javascript。我想用 Canvas 从这个值生成图表,但我不知道如何在 JavaScript 中读取关联 PHP 数组。
@编辑
AJAX 请求:
$.post({
type: "POST",
url: "execute.php",
data: {producer: producer, before: before, after: after, name: name},
dateType: 'json',
cache: false,
}).done(function(data) {
$("#xdebug").html(data);
});
PHP 结果如下所示:
$params = array();
foreach(array_unique($dates) as $date) {
$params[] = array("date" => $date, "sold" => sumOrders($date, $dbh), "scale" => sumOrders($date, $dbh) * 10);
}
echo json_encode($params);
我在 javascript 中收到一个这个数组
[{
"date": "2017-12-01",
"sold": "0",
"scale": 0
}, {
"date": "2017-12-02",
"sold": "0",
"scale": 0
}, {
"date": "2017-12-03",
"sold": "0",
"scale": 0
}, {
"date": "2017-12-04",
"sold": "0",
"scale": 0
}, {
"date": "2017-12-05",
"sold": "0",
"scale": 0
}, {
"date": "2017-12-06",
"sold": "0",
"scale": 0
}, {
"date": "2017-12-07",
"sold": "0",
"scale": 0
}, {
"date": "2017-12-08",
"sold": "0",
"scale": 0
}, {
"date": "2017-12-09",
"sold": "0",
"scale": 0
}, {
"date": "2017-12-10",
"sold": "0",
"scale": 0
}, {
"date": "2017-12-11",
"sold": "0",
"scale": 0
}, {
"date": "2017-12-12",
"sold": "0",
"scale": 0
}, {
"date": "2017-12-13",
"sold": "0",
"scale": 0
}]
我该怎么做呢?
最佳答案
首先,您的ajax代码中有一个拼写错误:
$.post({
type: "POST",
url: "execute.php",
data: {producer: producer, before: before, after: after, name: name},
dataType: 'json', //dataType not dateType
cache: false,
}).done(function(data) {
$("#xdebug").html(data);
});
现在 data
中的响应将是一个 json 对象,您可以轻松使用它,例如:
.done(function(data) {
data.forEach(function (item){
console.log(item.date);
console.log(item.sold);
console.log(item.scale);
})
});
关于php - 在 JavaScript 中读取 PHP 关联数组值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47808195/