因此,简而言之,我们在学校项目中使用restdb.io来练习我们的“后端”技能。我们应该建立一个简单的网站,允许我们发布新文章,删除现有文章和(我的焦点)编辑现有文章。我们对新文章使用POST
方法,使用PUT
方法进行编辑。因为我不理解PUT
方法的性质,所以我只是以与POST
方法相同的方式使用它
document.querySelector('button[name="save-edit"]').addEventListener("click", e => {
e.preventDefault();
let userTitle = document.querySelector('input[name="title"]');
let userDate = document.querySelector('input[type="date"]');
let userContent = document.querySelector('textarea[name="content"]');
let data = {
title: userTitle.value,
content: userContent.value,
date: userDate.value
};
let postData = JSON.stringify(articleData);
fetch("https://someRandomDatabase.restdb.io/rest/articles/" + articleData._id, {
method: "put",
headers: myHeaders,
body: postData
})
.then(d => d.json())
.then(t => {
console.log(t);
document.querySelector("#modal").style.left = "100vw";
document.querySelector('input[name="title"]').value = "";
document.querySelector('input[type="date"]').value = "";
document.querySelector('textarea[name="content"]').value = "";
showArticle(data);
document.querySelector('button[name="save-edit"]').disabled = true;
});
});
});
这是负责网站编辑UX功能的整段代码(主要部分从获取数据开始)。现在因为我没有那么多关于PUT
的理论,而我在互联网上找到的所有文章只是POST
vs PUT
,我不确定它在哪里出错。在它的当前状态它只是将新文章添加到数据库(所以基本上就像POST
方法)而不是编辑我点击的那个。
PS:这段代码实际上位于一个名为showArticle()
的函数中,该函数专门用于发布新文章。我输入的原因是我传递了文章的内容(因此内容)