Young's Today

2022-11-15. TIL 본문

TW I Learnd

2022-11-15. TIL

Young's Today 2022. 11. 16. 16:18

** 공부 내용

아이디/닉네임 중복확인 API 코드

- HTML <body> 부분

- function을 사용하기 전에 호출을 어디서 해줄 것인지는 버튼에 onclick="idcheck()"로 지정해둠

<div class="form-floating mb-3">
            <input type="email" class="form-control" id="floatingInput" placeholder="name">
            <label for="floatingInput" id="userid">ID</label>
            <button onclick="idcheck()" type="button" class="btn_idcheck">중복확인</button>
</div>

- HTML <script> 부분

- POST 타입, URL은 mongoDB에 저장할 위치, data는 idcheck에 입력된 값을 받아서 사용

- response가 success라면 사용가능 알럿, success가 아니라면 중복 알럿

function idcheck() {
            $.ajax({
                type: "POST",
                url: "/api/register",
                data: {id_give: idcheck.value()},
                success: function (response) {
                    if (response['result'] == 'success') {
                        alert('아이디 사용이 가능합니다.')
                    } else {
                        alert('아이디가 중복됩니다.')
                        return;
                    }
                }
            })
        }

- Python 부분

- 동일하게 POST 방식 사용, idcheck() 함수 사용

- ajax에서 id_give 폼을 리퀘스트 하는 것을 id_receive로 지정

- result는 데이터베이스의 user 에서 id가 존재하는지 확인

- result가 없다면 success로 jsonify return

- result가 있다면 fail로 jsonify return

@app.route('/api/register', methods=['POST'])
def idcheck():

    id_receive = request.form['id_give']
    result = db.user.find_one({'id': id_receive})
    if result is None:
        return jsonify({'result': 'success'})
    else:
        return jsonify({'result': 'fail'})

 

** 느낀 점

- 작성까지 굉장히 오랜 시간이 걸렸다. 구글링해서 이것저것 찾아서 트라이 해보았다.

- 내가 처음 작성했을 때 if result is not None: 이라고 작성을 했는데, 다시 생각해보니 사소한 실수였다.

- 오래 걸렸고 팀원이 찾아준 문제였지만 해결하고나니 속이 시원하다!

- 한 가지 문제가 풀리지 않을 때는 10분 정도 휴식했다가 다시 보는 것을 권장한다.

- 내가 어디서부터 무엇을 시도해보았는지도 정리하고, 새로운 시각으로 볼 수 있게 된다.

 

** 잘한 점

- 연구직할 때만 구글링 능력이 발휘되는건 줄 알았는데 그 능력을 응용할 수 있어서 좋았다.

- 끝까지 해결하기 위해 노력했다. 모르면 구글링 그래도 모르면 질문하고 반복반복

 

** 못한 점

- 잠시 쉬었다 했으면 미처 놓쳤던 부분을 더 빨리 찾아낼 수 있었을거라는 생각이 든다.

'TW I Learnd' 카테고리의 다른 글

2022-11-17. TIL  (0) 2022.11.17
2022-11-16. TIL  (0) 2022.11.16
2022-11-14. TIL  (0) 2022.11.14
2022-11-13. WIL  (0) 2022.11.14
2022-11-12. TIL  (0) 2022.11.12