Получение "неопределенного" кода состояния в ответ
Я отправляю ответ со стороны сервера 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);
})
}