我从 php 返回一个 JSON 对象,其中仅包含列的不同值的计数。这是相关部分:
[Object]
0: Object
count(distinct value): "456"
“Value”是列的名称(是的,我知道这不是一个好的列名称选择)。
我的 jquery 看起来像这样。我试图获取“456”并将其附加到 div 中。
$.getJSON('attribute_count.php', function(data) {
$.each(data, function(key, val) {
var attribute_count = val.count(distinct value);
$('#attribute_count').append(attribute_count);
});
});
但是,这会引发错误:Uncaught SyntaxError:行上出现意外的标识符:
var attribute_count = val.count(distinct value);
我已经使用这种精确的语法从该数据库中获取和附加其他数据,没有任何问题。我猜测“计数(不同值)”部分是问题所在,但不确定如何纠正它。这是我的 PHP 的相关部分:
$sql = "select count(distinct value) from full_data_complete;";
$result = $dbh->query($sql)->fetchAll(PDO::FETCH_ASSOC);
header('Content-type: application/json');
echo json_encode($result);
如有任何想法,我们将不胜感激。
最佳答案
您当前的代码正在寻找 val
上的 count
方法以及一些未定义的参数。
最好的解决方案是使用 AS
关键字在 SQL 中为列命名。
您的 SQL 将如下所示:
SELECT COUNT(distinct value) AS distinct_value_count FROM full_data_complete;
您现在可以在 JavaScript 中访问它:
data.distinct_value_count
您不需要循环数据,因为它是一个对象。
$.getJSON('attribute_count.php', function(data) {
var attribute_count = data.distinct_value_count;
$('#attribute_count').append(attribute_count);
});
关于javascript - 解析 JSON 时出现意外的标识符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27924964/