Как удалить указанный клон c с помощью метода fetch и DELETE - PullRequest
0 голосов
/ 01 апреля 2020

Мы создаем приложение, в котором понравившиеся пользователи попадают в профиль пользователя. Теперь мы хотим иметь возможность удалять пользователей из профиля. Мы предполагаем, что нам нужно использовать fetch и метод delete, но поскольку пользователи клонируются, мы не уверены, как удалить указанный клон c. У тебя есть идеи? Как удалить указанного пользователя c с app.delete в приложении. js?

Пример из базы данных (nedb), где понравившиеся пользователи находятся в объекте «match»:

{"username":"hawe","email":"hawe@gmail.com","password":"1234","gender":"Kvinna","age":"29","city":"Uppsala","games":"Team Fortress 2","usernameDiscord":"hawe30","usernameSteam":"hawe","usernameOrigin":"hawe","match":["nikeboy","carro","arooma","knest","arooma","gamer_girl","gamer_girl","carro","gamer_girl","arooma","arooma","arooma"],"_id":"JYXvYXEvgw8LNX4X"}

Это код в сценарии. js:

function writeProfileInfo(users) {
    const id = localStorage.getItem("userId")
    for (let i = 0; i < users.length; i++) {
        if (id == users[i]._id) {
            console.log(id)
            console.log(users[i].match.length)
            console.log(users[i]._id)
            const profileUsername = document.querySelector(".Profile-Info__Username-Age").innerHTML = users[i].username + ", " + users[i].age
            const city = document.querySelector(".Profile-Info__City").innerHTML = users[i].city
            const discord = document.querySelector(".Profile-Info__Username-Discord").innerHTML = users[i].usernameDiscord
            const steam = document.querySelector(".Profile-Info__Username-Steam").innerHTML = users[i].usernameSteam
            const origin = document.querySelector(".Profile-Info__Username-Origin").innerHTML = users[i].usernameOrigin
                // const gender = document.querySelector(".Gender__Input").value
            for (let j = 0; j < users[i].match.length; j++) {
                let div = document.querySelector(".Append")
                let userMatch = document.querySelector(".User__match")
                let newClone = userMatch.cloneNode(true)
                newClone.querySelector(".c").innerHTML = users[i].match[j]
                console.log(users[i].match[j])
                newClone.classList.remove("Prototype")
                div.append(newClone)
            }
            let deleteBtn = document.querySelector(".deleteBtn")
            console.log(users)
            deleteBtn.addEventListener("click", async(event) => {
                console.log("hej")
                event.preventDefault()
                const response = await fetch('http://localhost:8080/delete/' + id, {
                    method: 'DELETE',
                    headers: {
                        'Content-Type': 'application/json',
                    },
                    body: JSON.stringify({
                        match: users[i].username.match
                    })
                })
            })
        }
    }
}

Это приложение. js:

app.delete('/delete/:id', async(req, res) => {
    const result = await collectionsNEDB.users.remove({ _id: req.params.id }, {
        { "match": req.body.match }
    })
    console.log(req.params.id)
    res.json(result)
})
...