등록 시 동일한 사용자가 여러 번 등록하고 데이터베이스에 동일한 데이터가 여러 개 나타납니다. 백그라운드가 확인되었으며 프런트엔드 js도 2초에 한 번만 제출하도록 제한하지만 여전히 여러 데이터가 나타납니다.
習慣沉默2017-06-30 09:54:16
프런트 엔드에서는 페이지 진입 시 등록 버튼을 클릭할 수 있도록 설정할 수 있습니다. 등록 요청을 보내기 위해 클릭하면 먼저 요청이 돌아와서 등록이 실패할 때 등록 버튼이 클릭 불가능하도록 설정됩니다. 클릭이 가능하도록 설정되었습니다.
淡淡烟草味2017-06-30 09:54:16
제출 시간을 2초로 제한하는 debouce
还是throttle
을 사용하고 있는지 모르겠습니다
더 나은 접근 방식은 등록을 클릭하여 버튼을 비활성화하고 요청이 반환될 때까지 기다린 다음 콜백 함수에서 버튼을 활성화하는 것입니다. 오류를 보고하는 콜백에서 등록 버튼을 활성화하는 것을 잊지 마세요.
백엔드 데이터베이스 필드도 고유하게 색인화되어야 합니다天蓬老师2017-06-30 09:54:16
서버 측 검증에는 프런트엔드 버튼을 클릭한 후 클릭을 비활성화하거나, 서버가 돌아올 때까지 기다려 클릭 차단을 해제하거나, 타임아웃을 통해 구현하는 고유성 판단이 필요합니다.
三叔2017-06-30 09:54:16
프론트 엔드의 버튼을 비활성화하는 솔루션도 필요하지만 일반 사용자가 여러 번 클릭하는 것을 방지할 뿐 브라우저가 아닌 '사용자'를 방지할 수는 없습니다.
서버가 아무리 반복적인 요청을 수락하더라도 이를 처리해야 합니다. backend
용도 동일 사용자는 한 번만 등록 가능, 다른 답변 참고, 기본키