我試圖避免在這里問許多類似問題中的另一個,但我很難過。我在這里做一個錯誤跟蹤器。當我填寫表格并將其發送到服務器端時,它會得到處理并在我的資料庫等中創建錯誤。
在我保存我的錯誤 (await bug.save();) 并發送我的狀態后出現問題,我認為我還將新創建的錯誤回傳到客戶端并使用 res.status(201).send(bug );
這是我的簡單創建端點:
router.post('', auth, async (req, res) => {
const bug = new Bug({
...req.body.bug,
owner: req.user._id,
});
try {
await bug.save();
res.status(201).send(bug);
} catch (err) {
res.status(400).send(err);
}
});
如您所見,我將我的錯誤物件發回(它具有各種屬性,如描述、優先級、createdBy 等......)
這是我的 fetch 電話
const saveBug = async function () {
const dataArray = [...new FormData(form)];
const bug = Object.fromEntries(dataArray);
bug.createdBy = activeUser.user.username;
try {
const res = fetch('', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
Accept: 'application/json',
Authorization: `Bearer ${activeUser.token}`,
},
body: JSON.stringify({
bug: bug,
}),
});
const data = await res.json();
console.log(data);
document.querySelector('.bug-form').reset();
fetchBugs();
} catch (err) {
console.log(err);
}
};
它似乎表現得像 .json() 不是一個函式。但我已經告訴 express 在我的應用程式中使用它
app.use(express.json());
所以我有點難過為什么在從服務器發回后我似乎無法在客戶端中找到我的錯誤。
uj5u.com熱心網友回復:
您必須await
在獲取之前使用
const res = await fetch('', {
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/508424.html
標籤:javascript 节点.js 表示 获取 API
上一篇:多詞搜索功能HTML串列過濾器