javascript - 如何显示数据 vue js + axios 中的特定列?
问题描述
好的,我是新手,还没有掌握词典。这是我正在尝试做的事情:
我已经使用 axios 和 (f12) - network - preview 成功地从我的 SQL 中读取了数据。表明:
成功推送为数组。
但是在 vue 中,当我尝试显示它时。它显示:如
[ { "COUNT(`char_id`)": "1" } ]
如何只显示“1”?
我的Vue(内部):
{{在线用户}}
(脚本内)
data:() => ({
onlineUsers: [],
)},
created(){
this.onlineUsersFunction();
},
methods: {
onlineUsersFunction: function () {
axios.post(url, { switchCase: 2 }).then((response) => {
this.onlineUsers = response.data;
});
}
}
在我的 crud.php 里面
$switchCase = (isset($_POST['switchCase'])) ? $_POST['switchCase'] : '';
switch($switchCase){
case 1: //Select
$query = "SELECT * FROM login";
$stmt = $conn->prepare($query);
$stmt->execute();
$data=$stmt->fetchAll(PDO::FETCH_ASSOC);
break;
case 2:
$query = "SELECT COUNT(`char_id`) FROM `char` WHERE `online` = 1;";
$stmt = $conn->prepare($query);
$stmt->execute();
$data=$stmt->fetchAll(PDO::FETCH_ASSOC);
break;
}
print json_encode($data, JSON_UNESCAPED_UNICODE);
$conn = NULL;
解决方案
首先,您的 count 查询仅返回一行,因此无需使用fetchAll
. 尝试这样的事情
$query = "SELECT COUNT(`char_id`) FROM `char` WHERE `online` = 1;";
$data = ["count" => $conn->query($query)->fetchColumn()];
然后在Vue中,只需使用
{{ onlineUsers.count }}
您还应该onlineUsers
在初始化时设置为对象
data: () => ({
onlineUsers: {},
)},
推荐阅读
- lua - 计算网格上的实体位置(笛卡尔坐标)(实体和地砖大小不同)
- javascript - 如何在函数中等待获取函数?
- python - 如何在同一个 HTML 页面上显示来自两个不同模型的数据
- ubuntu - x86 NASM 程序集中的阶乘函数出错
- python - 如何将数据发送到 EventHub 设置 PartitionId 而不是 PartitionKey (Python)
- javascript - Bootstrap 3轮播与asp net mvc中的动态源
- asp.net-core - 为什么在 ASP.NET Core 2.2 中以自动 400 响应发送 traceid
- ios - 在详细标题栏中,显示“Y 的图片 X”
- jquery - jQuery - 如果条件被忽略
- loops - 我正在尝试创建多个循环,但如果一个循环返回 null 它不会运行循环的其余部分。我该如何解决这个问题?