使用PUT方法更新外部数据库中的现有文章

时间:2018-02-14 00:18:39

标签: javascript json rest put

因此,简而言之,我们在学校项目中使用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()的函数中,该函数专门用于发布新文章。我输入的原因是我传递了文章的内容(因此内容)

0 个答案:

没有答案