我正在尝试使用按钮从 Swagger API 中删除条目 [i]。
function deleteWork(id) {
fetch("http://localhost:5678/api/works/" + id, {
method: "DELETE",
headers: {"Content-Type": "application/json"},
body: JSON.stringify( {
"id": id
})
})
}
以下代码位于 for 循环内,用于从 API 获取图像并显示它们。每个图像都附加了一个删除按钮,这是我使它们起作用的尝试:
DELETEBTN.addEventListener("click", () => {
deleteWork([i])
})
控制台返回错误 401,请求负载如下:
{"id":[10]}
DELETE URL 是 /works/{id},它唯一需要的参数是要删除的项目的 id。
我认为问题出在身体内部?
Fetch API 默认不发送或接收 cookie。有关更多详细信息,请访问使用 Fetch API - 发送包含凭据的请求
function deleteWork(id) {
fetch("http://localhost:5678/api/works/" + id, {
credentials: "include",
method: "DELETE",
headers: {"Content-Type": "application/json"},
body: JSON.stringify( {
"id": id
})
})
}
解决了。它只需要一个身份验证,Swagger 使用 Bearer:
function deleteWork(id) {
let jwt = localStorage.getItem("jwt")
fetch("http://localhost:5678/api/works/" + id, {
method: "DELETE",
headers: {
"Authorization": `Bearer ${jwt}`,
"Content-Type": "application/json",
}})
}