javascript - 从 url 请求 JSON 数据并插入到 html 表中
问题描述
我正在尝试编写从 URL 接收 JSON 数据并将其插入 html 表的代码。我只能更改“processResponse”函数中的内容。目前它在每个表中都说未定义。代码笔链接:
https://codepen.io/mauro-scheltens/pen/OJWQwXY
这是我的代码:
const requestUrl = 'https://mdn.github.io/learning-area/javascript/oojs/json/superheroes.json';
function requestJSON(url) {
let request = new XMLHttpRequest();
request.open('GET', url);
request.send();
request.onload = function() {
let response = request.response;
processResponse(response);
}
}
function sendRequest() {
requestJSON(requestUrl);
}
function processResponse(response) {
document.querySelector("#squadName").innerHTML = response.squadName;
document.querySelector("#homeTown").innerHTML = response.homeTown;
document.querySelector("#formed").innerHTML = response.formed;
document.querySelector("#secretBase").innerHTML = response.secretBase;
document.querySelector("#active").innerHTML = response.active;
}
sendRequest();
td {
border: 2px solid black;
border-spacing: 0;
}
<h1>Requesting data and inserting</h1>
<table id='overview-table'>
<tr>
<th>squadName</th>
<th>homeTown</th>
<th>formed</th>
<th>secretBase</th>
<th>active</th>
</tr>
<tr>
<td id='squadName'></td>
<td id='homeTown'></td>
<td id='formed'></td>
<td id='secretBase'></td>
<td id='active'></td>
</tr>
</table>
这就是它的样子:
有人可以帮我弄这个吗?
解决方案
request.response
是一个字符串,而不是 JSON 对象。因此,您必须在处理之前将其解析为 JSON。
function requestJSON(url) {
...
processResponse(JSON.parse(response));
}
推荐阅读
- css - 文本超出容器时将字体缩放到大小?
- object-detection - YOLO darknet retrain 甚至没有开始说它在某些 *labels* 目录中找不到 *.txt
- python - 将两个在不同语料库上从零开始训练的 BERT 模型组合成一个模型的方法?
- javascript - 如何使用 ESLint 在 JS 或 TS 中检测本地类与全局类的名称冲突?
- aws-amplify - Can I have any way to import module about aws-export.js?
- php - php ajax multiple dropdown pagination
- spring - How to access datasource information in spring boot with spring data jpa and hibernate
- html - Rotating image gallery
- spring-boot - EJB Corba Marshalling Exception
- dictionary - 我想使用 ansible 自动创建 k8s 虚拟节点,如何动态执行此操作?