javascript - 解析 JSON 时出现意外的标识符

标签 javascript php jquery json

我从 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/

相关文章:

javascript - 仅通过 Javascript 触发文件上传

php变量实际值未插入表中

php - 使用jQuery加载php文件,php文件包括

javascript - 通过 ajax 调用更新选择字段时未选择 Select2

jquery - 使用 jQuery 解析 JSON 并编写 HTML

javascript - Angular : ng-options inserts an empty element

javascript - '$(document).ready()' 的非 jQuery 等效项是什么?

javascript - 如何获取 jQuery.get "Data"中的特定元素

php - 在 null 上调用成员函数 getDb()

Jquery nth-child 未按预期工作