我正在使用NextJs构建无服务器应用程序,并且我坚持在向数据库发出发布请求时如何获取包含用户JWT的返回值。一切都按预期进行,但我无法坚持这一点。
在我的登录页面上,这是我处理用户提交的数据的方式:
const res = await fetch(`${process.env.BASE_URL}/api/login`, {
method: "POST",
headers: {
"Content-Type": "application/json"
},
body: JSON.stringify(userInfo)
})
console.log('successfully logged in')
console.log(res)
在我的API中,向/api/login
发出请求时返回值的方式是:
return res.status(201).json({
message: 'Account successfully signed in!',
user,
token
})
现在,当我在开发工具中检查console.log时,响应如下所示:
type: "basic"
url: "http://localhost:3000/api/login"
redirected: false
status: 200
ok: true
statusText: "OK"
headers: Headers {}
body: ReadableStream
locked: false
__proto__: ReadableStream
bodyUsed: false
__proto__: Response
那里什么都没有,我也不知道为什么?
答案 0 :(得分:1)
这是 fetch 正文响应,您应按期望的类型(在您的情况下,json
)对其进行解码。
const res = await fetch(`${process.env.BASE_URL}/api/login`, {
method: "POST",
headers: {
"Content-Type": "application/json"
},
body: JSON.stringify(userInfo)
})
const data = await res.json(); // <--- this is the missing part
console.log('successfully logged in')
console.log(data)