我在使用 fetch 发送 id 时遇到问题,然后将该 id 发送到执行功能的后端中的 get 请求。
该函数的目的是删除前端输入框中输入的JSON文件中的元素。
但是,当我这样做时,我收到一条错误消息,指出找不到该函数的路由:
获取http://localhost:3000/delete 404(未找到)
这是 /delete
路由的代码:
app.get('/delete/:id', function (req, res) {
var id = req.params.id;
for (var i = 0; i < tasksArray.length; i++) {
if(tasksArray[i].id == id) {
tasksArray.splice(i, 1);
}
}
res.json(tasksArray);
var json = JSON.stringify(tasksArray);
fs.writeFileSync("toDoList.json", json);
});
这是带有fetch的前端代码:
function deleteElement() {
var id = document.getElementById("deleteId").value;
var url = "http://localhost:3000/delete";
fetch(url, {
method: 'GET',
url: `/delete/${id}`,
headers: {
'Content-Type': 'application/json'
}
});
}
感谢任何帮助。
最佳答案
您没有在网址中使用 id。
function deleteElement() {
var id = document.getElementById("deleteId").value;
var url = "http://localhost:3000/delete/" + id;
fetch(url, {
// removed url as it's defined in fetch's first arguments.
method: 'GET',
headers: {
'Content-Type': 'application/json'
}
});
}
关于javascript - 如何使用 fetch 将变量发送到 GET 请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56232202/