javascript - 无法从 API 请求打印数据
问题描述
我正在尝试学习使用 API 调用和响应,我需要一个来自 api 响应的基本值,但我无法让它工作。所以这是我的问题;
(function worker() {
$.get('URL', function(data) {
$('#numbers').html(data); });
})();
我使用这段代码,它工作得很好,并将 API 响应写入我的 HTML 页面。API 调用也以这种格式返回值;
{
"success":"true",
"field1": {"number1":"number1_val","number2":"number2_val"},
"field2": {"number11":"number11_val","number22":"number22_val"}
}
现在,我尝试从 API 响应中写入值,并且成功地写入了这样的“成功”值;
$('#success_val').html(data.success);
它在给定字段中将值打印true
到我的 HTML 网站。#success_val
但是,当我尝试编写 field1 或 field1 的第一个值时,我没有成功。我试过了
$('#numbers').html(data.field1); => No success, empty page
$('nu#mbers').html(data.field1[0]); => No success, empty page
所以,此时,我需要存储和使用的是字段 2 中的“number11”值。我已经阅读并搜索了一个多小时,发现这个 api 返回不是有效的“array”返回,而是它被称为“字段”(我可能错了),但我找不到任何关于如何从这个 api 响应中获取“number11”数据的信息。
解决方案
$('#numbers').html(data.field1); => No success, empty page
确定存在吗data.field1
?或拼写检查。
您可以通过Object.keys(data)
.
如果存在数据,则返回["success", "filed2", "field2"]
. 同样,您已经知道 key、likenumber11
或
data.field2.number11
return data["field2"]["number11"]
value。如果您不知道键,则data["filed2"][Object.keys(data)[0]]
返回值
推荐阅读
- java - 在 Java REST Client [6.5] API 上使用 ES 6.5 中的映射创建索引
- javascript - 淡入淡出切换的 div 区域
- c++ - 用不同的颜色填充 QTreeView 中的单元格,用不同的颜色填充 QDiagCrossPattern
- android - 使用 Gson 从 SharedPreferences 获取 Uri 字符串后,setImageUri() 未显示图像
- reportportal - 有没有办法只在报告门户的结果中包含@Test 数据
- azure - 输入参数“范围”无效。范围 https://outlook.office365.com/EWS.AccessAsUser.All 无效
- typescript - 如何在不使用 ng-Class 或 ng-Style 的角度 7 的点击事件中添加 CSS 类?
- c++ - 线程更新时对全局指针的影响
- javascript - 在 InsertCSS 的内容脚本中使用 tabID 的 Chrome 扩展
- python - 熊猫减去行给出错误的结果