본문 바로가기
Project/축구모임 홈페이지개발

[축구모임 홈페이지개발] 06/14 개발일지 Node.js / 선수스탯창 개인 권한 설정

by 한33 2024. 6. 15.

선수스탯창 구현을 1주일 째 계속 하고있다.

 

우선 여기서 개선해야했던 문제는 사용자 자신의 스탯에는 점수를 부여할 수 없도록 설정을 해야했다.

 

그래서 나는 유저가 로그인 했을 시에 자신의 스탯창을 눌렀을 때 스탯부여하기 버튼 자체를 안 보이게 설정을 했다.

 

이 과정에서 새로 배운 게 있어서 기록을 한다.

 

우선 나는 기존에 선수 데이터들을 불러올 때 json 형식으로 데이터들을 서버로부터 클라이언트에 불러왔고.

 

그러다보니 기존에 실패했던 이유가

 

<%%> 꼴로 

 

          <% if (typeof 유저 !== 'undefined') { %>

 

이와 같이 유저가 로그인을 했을 시에 라는 가정을 설정할 시

 

유저가 name 과 같다고 가정을 추가로 했어야 했는데, name 은 json 형식으로 전달되었기 때문에 <%%> 안에서는 사용할 수가 없었다.

 

그래서 내가 배운 건 

 

          <% if (typeof 유저 !== 'undefined') { %>
            var 유저 = '<%=유저.username%>'
              <%}%>

 

먼저 유저가 있을 시에 아예 javascript 에서 유저 라는 변수를 만들어서 <%%> 안으로부터 유저 데이터를 따로 저장해준다.

 


            if (typeof 유저 !== 'undefined') {
            if (name === 유저) {
              modalLabel.innerHTML = num_plus_name;
            } else {
              modalLabel.innerHTML = num_plus_name + ' <span onclick="handleStatAllocation()" class="introduce-stat-inputstatbt">스탯부여하기</span><span onclick="handleCancelAllocation()" class="introduce-stat-canclebt">취소하기</span>';
            }
          } else {
            modalLabel.innerHTML = num_plus_name;
          }

 

그 다음 이와 같이 유저를 javascript 에서도 그냥 사용할 수가 있었다.

 

이렇게 하면 json 형식으로 부터 받은 name 변수와,

 

<%%> 꼴로 받은 유저 변수를 같이 사용할 수 있게 되었다.