2017-03-17 2 views
0

사용자가 PassportJS를 사용하여 계정을 만들고 Stripe을 사용하여 동시에 비용을 청구하도록 설정했습니다. 이것은 모두 작동합니다.오류 발생 후 리디렉션 하시겠습니까?

현재 사용자가 동일한 사용자 이름을 사용하여 가입하도록 허용하고 있습니다. 이 함수는 user.save 부분의 오류를 포착합니다. 그러나 오류가 발생하더라도 새로운 사용자를 생성하고 요금을 부과합니다. 나는 거기로 돌아갈 필요가있다. 그러나 res.redirect 또는 그 부분의 무언가를 파악할 수 없었습니다.

오류가 발생하면 코드가 리디렉션되도록 어떻게 변경합니까?

답변

0

returnres.redirect() 전에 사용하십시오. 실행이 중지됩니다.

if (err) 
    return res.redirect('/anywhere'); 
0

우선 동일한 사용자 이름을 사용하려는 경우 고유성 오류가 발생하도록 사용자 이름의 유효성을 검사해야합니다. 몽구스를 사용하면서 npm install mongoose-unique-validator을 제안합니다. 고유 한 사용자 이름을 설정하십시오. more info.

둘째, 오류를 잡아 현재 양식 (제출하기 전에 양식)

if (err) { 
    // clear cache to prevent 304 response 
    res.header('Cache-Control', 'no-cache, private, no-store, must-revalidate, max-stale=0, post-check=0, pre-check=0'); 

    return res.redirect('back'); 
} 

'back'req.get('Referrer') 귀하의 경우 제출 양식의 값에 기지로 리디렉션.

관련 문제