【发布时间】:2018-10-24 21:00:30
【问题描述】:
我正在对我的后端进行 fetch 调用,这是调用。
const response = await fetch(apiUrl + '/recipes', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': `Token token=${user.token}`
},
body: JSON.stringify({
recipe: {
recipeId: uri
}
})
})
那么这就是我在后端发送呼叫的路由
router.post('/recipes', requireToken, (req, res) => {
req.body.recipe.owner = req.user.id
Recipe.create(req.body.recipe)
.then(recipe => {
console.log('Recipe object saved is', recipe)
res.status(201).json({ recipe: recipe.toObject() })
})
.catch(err => handle(err, res))
})
当我这样做时,正确的对象会在它发回之前记录下来。这是记录的示例
{ __v: 0,
updatedAt: 2018-10-19T15:47:16.809Z,
createdAt: 2018-10-19T15:47:16.809Z,
recipeId: 'http://www.edamam.com/ontologies/edamam.owl#recipe_7dae4a3b1f6e5670be3c2df5562e4782',
owner: 5bc9fc6a3682194cdb8d6fa5,
_id: 5bc9fc843682194cdb8d6fa7 }
但是,当我 console.log 我在前端返回的内容时,我得到了这个。
Response {type: "cors", url: "http://localhost:4741/recipes", redirected: false, status: 201, ok: true, …}
body: ReadableStream
bodyUsed: true
headers: Headers {}
ok: true
redirected: false
status: 201
statusText: "Created"
type: "cors"
url: "http://localhost:4741/recipes"
__proto__: Response
在通话中,它会使用我的数据库记录操作,因此信息会被保存,并在应该发回之前被记录下来,但是不会发回正确的信息。 提前感谢您的任何回复。
【问题讨论】:
标签: javascript http fetch