javascript - 为什么我在尝试访问通过 ajax 返回的 json 数据中的值时变得不确定
问题描述
data[0] 正确返回 json 数据的第 0 行,但尝试访问诸如 service 和 online 之类的键返回未定义。
<script>
$.ajax({
url:"count.php",
dataType:'json',
success: function(data, status){
console.log(data[0].online);
}
});
</script>
计数.php
<?php
$data = array();
$data[] = file_get_contents('https://xxxxxik.php?%20metod=get_count_new%20&service=pro1&apikey=sdss');
$data[] = file_get_contents('https://xxxxxik.com/priemnik.php?%20metod=get_count_new%20&service=pro2&apikey=sdds');
echo json_encode($data);
?>
console.log(data) 打印以下 json
[
"{\"service\":\"pro1\",\"online\":91}",
"{\"service\":\"pro2\",\"online\":0}"
]
解决方案
该数组data
包含字符串。您可以使用Array.prototype.map()
andJSON.parse()
将其转换为对象数组。
$.ajax({
url:"count.php",
dataType:'json',
success: function(data, status){
data = data.map(x => JSON.parse(x))
console.log(data[0].online)
}
});
推荐阅读
- android - 使用 Detox 在 Android 上设置相机权限
- visual-studio-code - 安装扩展时VS代码给出错误
- python - Python:TypeError 需要一个整数(获取类型 str)
- java - 从java中的binarySearch方法获取意外的位置值
- ruby-on-rails - 您如何更改显示页面中帖子的布尔值?
- angular - 如何为 router.events.forEach 编写 jasmine.createSpyObject(...)
- mysql - TypeORM:尝试手动运行迁移时“没有待处理的迁移”
- django - Django 表单没有被翻译
- javascript - 我该怎么做才能使我的添加到购物车按钮起作用?
- ios - Swift UI 测试:无法安装请求的应用程序