Запрос Get иногда возвращает "Произошла ошибка: Unexpected token e in JSON at position 0".
Иногда это срабатывает, кажется, что это работает, когда я открываю новое окно браузера. Однако я не могу воссоздать последовательный сценарий, когда это работает
Это просьба, которую я пытаюсь выполнить
login(): void {
// const loginFormValues = JSON.stringify(this.loginForm.getRawValue())
this.userService.login(this.loginForm.getRawValue()).subscribe({
next: (data) => {
console.log(data);
this.router.navigate(['/']);
},
error: (error) => {
this.router.navigate(['/login']);
console.log('There was an error: ' + error.message);
},
});
}
this.loginForm.getRawValue() дает мне следующий объект
{username: 'jocelyn', password: '123456'}
Вот что делает бэкенд
class LoginView(APIView):
def post(self, request):
username = request.data['username']
password = request.data['password']
# We find the first user since username is unique
user = User.objects.filter(username=username).first()
if user is None:
raise AuthenticationFailed('User not found!')
if not user.check_password(password):
raise AuthenticationFailed('Incorrect password!')
# Token expires in sixty minutes
payload = {
'id': user.id,
'exp': datetime.datetime.utcnow() + datetime.timedelta(minutes=60),
# Date when token is created
'iat': datetime.datetime.utcnow()
}
token = jwt.encode(payload, 'secret', algorithm='HS256')
response = Response()
response.set_cookie(key='jwt', value=token, httponly=True)
response.data = {'jwt': token}
return response