Получение "неопределенного" кода состояния в ответ

Я отправляю ответ со стороны сервера api узла, как показано ниже: 1)res.status(200).send({success: true, token: 'JWT ' + token});и 2) res.status(401).send({success: false, msg: 'Authentication failed. Wrong password.'});Когда я пытаюсь получить ответ обратно в нижеприведенной функции на стороне клиента, это дает мне отправленное тело json, но это дает мне код состояния как "неопределенный":

login(userCredentials) {
    // Get a token from api server using the fetch api
    return this.fetch(`${this.domain}/api/login`, {
        method: 'POST',
        headers: new Headers({'Content-Type':'application/json'}),
        body: JSON.stringify(userCredentials)
    }).then((res) => {
          console.log('statusCode:'+ res.status)
          console.log('Token:' +res.token)
          this.setToken(res.token) // Setting the token in localStorage
          return Promise.resolve(res);

    })
}

Консольный вывод:

statusCode: undefined 
Token: JWT eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjozLCJlbWFpbCI6ImFkbWluQGRyci5jb20iLCJuYW1lIjoiQWRtaW4iLCJwYXNzd29yZCI6IiQyYiQxMCRGY2t3YVNTdG5DVy8xdUZ6Vko3N3VldFM2VFZydmdINVZkYXBnNGZ0RjB5aTFhYWYuZWFZZSIsInJvbGUiOiJBZG1pbiIsImNyZWF0ZWRBdCI6IjIwMTgtMTAtMThUMTM6NDM6MjQuMjUwWiIsInVwZGF0ZWRBdCI6IjIwMTgtMTAtMThUMTM6NDM6MjQuMjUwWiIsImlhdCI6MTUzOTk3NTM3MH0.oGIBXR56gGg1i5npGPgsZkSFxOMup9yY1Sa-D7unikA

Как я могу получить и код состояния, и тело json в реагирующем клиенте из ответа, отправленного сервером узла?

1 ответ

Решение

Попробуй это

login(userCredentials) {
    // Get a token from api server using the fetch api
    return this.fetch(`${this.domain}/api/login`, {
        method: 'POST',
        headers: new Headers({'Content-Type':'application/json'}),
        body: JSON.stringify(userCredentials)
    }).then(res => return res.json())
    .then((res) => {
          console.log('statusCode:'+ res.status)
          console.log('Token:' +res.token)
          this.setToken(res.token) // Setting the token in localStorage
          return Promise.resolve(res);

    })
}
Другие вопросы по тегам