몰 홈페이지에 기능이 있는데, 당일 사용자가 처음으로 로그인하면 홈페이지에서 사용자에게 [포인트 + 10] 프롬프트가 표시됩니다
버그가 어떻게 발생했는지 설명해주세요.
그날 처음 로그인했을 때 [포인트+10] 프롬프트가 떴는데 이때 홈페이지에 있는 아무 링크나 클릭해서 눌렀어요. 다시 홈페이지로 돌아오면 [포인트 +10] 메시지가 계속해서 반복해서 나타납니다.
하지만 그렇게 해서는 안 됩니다. 이미 백그라운드에서 논리 처리가 이루어졌기 때문입니다. 그날 사용자가 처음으로 로그인하면 레코드가 테이블에 삽입되고 200
이 반환됩니다. .사용자가 이미 로그인한 경우에는 202가 반환됩니다.
, 반환 상태 코드에 따라 안내가 표시되지만, 이전 페이지에서 홈페이지로 돌아오면
여전히 메시지가 표시됩니다. 홈페이지를 다시 새로고침하면 메시지가 사라집니다.
두 번 비교했는데(방금 들어간 페이지
와 이전 레벨에서 반환된 페이지
) URL에서 반환된 결과는 모두 200
이었습니다. 코드>, 이거 정말 이상해요
코드 게시:
js
< /p>
php
< /p>
도와주세요~
<시간>orz~
에 의해 캐시됩니다.
으아악
이렇게 테스트해본 결과 문제가 없는 것으로 나타났습니다. 코드를 추적하여 로그인 여부를 확인하는 것이 좋습니다. 영향을 받을 수 있는 캐시나 다른 것이 있습니까?
전체 로그인 상태 판단에 문제는 없나요?
캐싱의 영향인지 고려해보세요.
백그라운드에서 포인트가 실제로 2배 증가했는지 확인해보세요. 두 번째에도 증가하지 않으면 백그라운드 로직이 올바른 것이며 브라우저 캐시로 인해 발생했을 수 있습니다. 배경이 실제로 증가하면 배경 논리가 잘못된 것입니다.