【发布时间】:2021-10-26 20:47:41
【问题描述】:
我已经构建了服务器和客户端,但在处理服务器发送过来的客户端响应时遇到问题。我使用了 res.send(data) 和 res.json(data),但是客户端处理的响应不包含服务器发回的任何信息。
这是我的服务器代码。我正在删除一个项目,只是想发回一些随机数据,看看我是否可以在客户端收到它。
app.delete('/deleteReward/:id', (req, res) => {
console.log('\n\n\n\nInside delete\n\n\n\n')
console.log(req.params.id)
var rewardId = req.params.id
const sessionCookie = req.cookies.session || "";
var idToken = ""
var type = ""
if (sessionCookie) {
idToken = sessionCookie['idToken']
type = sessionCookie['type']
}
console.log("Printing session cookie")
console.log(sessionCookie)
admin
.auth()
.verifySessionCookie(idToken, true /** checkRevoked */)
.then((decodedClaims) => {
console.log(decodedClaims.user_id)
deleteReward(decodedClaims.user_id, rewardId)
// res.send("new data being sent")
})
.catch((error) => {
console.log(error)
});
res.json({'key': 'value'})
})
这是我在客户端的代码
for(var i = 0; i < rewardDeleteButtons.length; i++) {
var deleteButton = rewardDeleteButtons[i]
deleteButton.addEventListener('click', function(e) {
console.log(document.cookie)
console.log(this.value)
var response = fetch("/deleteReward/" + this.value, {
method: "DELETE",
headers: {
Accept: "application/json",
"Content-Type": "application/json",
"CSRF-Token": Cookies.get("XSRF-TOKEN"),
},
});
response.then((data) => {
console.log(data)
})
})
}
当我 console.log 时,我得到的数据看起来像这样
响应 {type: "basic", url: "http://localhost:5000/deleteReward/1", redirected: false, status: 200, ok: true, ...}body: (...)bodyUsed: falseheaders: 标题{}ok: trueredirected: falsestatus: 200statusText: "OK"type: "basic"url: "http://localhost:5000/deleteReward/1"[[Prototype]]: Response
我应该在返回的 JSON 中看到类似 "{'key': 'value'}" 或类似的东西,但它不存在。不知道我在做什么。在客户端上从 Node 中处理响应和提取数据的在线示例无法找到。
【问题讨论】:
标签: javascript node.js firebase google-cloud-firestore response