Как получить возвращаемое значение из почтового запроса в Next Js 9 без сервера - PullRequest
0 голосов
/ 18 апреля 2020

Я создаю безсерверное приложение, используя Next Js, и застрял в том, как я могу получить возвращаемое значение, которое включает 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
})

Теперь, когда я go проверю свой 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

Ничего нет, и я не знаю почему?

1 Ответ

0 голосов
/ 18 апреля 2020

Это ответ fetch body, вы должны декодировать его в соответствии с ожидаемым типом (в вашем случае 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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...