【发布时间】:2020-08-31 23:13:34
【问题描述】:
我有一个带有 React 前端和 Django rest API 后端的网络应用程序。 当我输入正确的用户名和密码登录时,我会收到用户名或密码错误时应该出现的消息。
React 代码:
fetch('/token-auth/', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({username: this.state.username, password: this.state.password})
})
.then(res => res.json())
.then(json => {
if (json.ok) {
localStorage.setItem('token', json.token);
this.props.notify_login(this.state.username)
}
else {
this.setState({been_failed: true})
}
});
如您所见,代码进入 else 块。但是 Django 服务器会打印以下消息,说明响应代码是 200。
“POST /token-auth/HTTP/1.1”200 286
有谁知道是什么导致了这种情况?
【问题讨论】:
-
嗨,您能否临时更改您的代码,而不是“if/else”,只需 console.log 该 json 的结果。所以问题会很清楚。看来 json.ok 不是个好主意
标签: javascript django reactjs http jwt-auth