fetch - 获取 [object HTMLDivElement] 而不是内容
问题描述
我正在使用 fetch 将虚假的 NEW POST 发布到站点:https ://jsonplaceholder.typicode.com/posts 我成功将其记录到控制台但是当我尝试在现有 div 中显示 NEW POST 时我只得到 [object HTMLDivElement] 结果的 DOM 我该如何解决这个问题?这是我的代码:
<form id="addPost">
<div>
<input type="text" id="title" placeholder="Title">
</div>
<div>
<textarea name="" id="body" placeholder="Body"></textarea>
</div>
<input type="submit" value="Submit (Add Post to API Data)">
function addPost(e){
e.preventDefault();
let title = document.querySelector('#title').value;
let body = document.querySelector('#body').value;
fetch('https://jsonplaceholder.typicode.com/posts', {
method: 'POST',
headers: {
'Accept': 'application/json, text/plain, */*',
'Content-Type': 'application/json'
},
body: JSON.stringify({title: title, body: body})
})
.then(res => res.json())
// .then(data => console.log(data));
.then(data => {
output = `<div><h2>New Post</h2><p>ID: ${data.id}</p><h3>${data.title}</h3><p>${data.body}</p></div>`;
console.log(data, " ", typeof(data));
});
document.querySelector('#output').innerHTML = output; // this gets me [object HTMLDivElement]
}
解决方案
推荐阅读
- java - 为@ExceptionHandler 中的每个异常生成正确的状态
- xamarin.forms - 通知中心设备注册与安装
- c++ - 类模板派生自另一个类模板类型推导
- angular - 角度路由解析器无法解析
- reactjs - 混合内容:位于 ' 的页面
' 已通过 HTTPS 加载,但请求了不安全的字体 '' - vhdl - 如何从 adv7513 i2c 获得响应
- vue.js - Vue.js / Vuetify / v-data-table: item from v-slot 似乎是副本而不是属性的引用
- python - 两个窗口之间的解决方案通信
- x86 - 指令解码队列 (IDQ) 中的微操作如何排列?
- docker - 如何在 Host 和 Docker 之间共享文件夹?