2026, 새로운 도약을 시작합니다.

토큰을 전송해서 ajax 로 조회하는 방법

HTML 

[code]

        // Username validation (3~20 characters, alphanumeric only)

        var username = $("#id_username").val();

        if (!/^[a-z0-9]{3,20}$/.test(username)) {

            $("#username-error").text("{{ form.username.help_text }}");

            valid = false;

        } else {

            {% comment %} $("#username-error").text(""); {% endcomment %}

            $.ajax({

                url: '/accounts/username_exists/',

                method: 'POST',

                headers: {

                    'X-CSRFToken': '{{ csrf_token }}',

                },

                data: {

                    'username': username

                },

                dataType: 'json',

                async: false, // Wait for the response

                success: function (data) {

                    if (data.is_exists) {

                        $("#username-error").text("이미 존재하는 아이디 입니다.");

                        valid = false;

                    } else {

                        $("#username-error").text("");

                    }

                }

            });

        }

[/code]

Django

[code]

from django.views.decorators.csrf import csrf_protect

rom django.views.decorators.http import require_POST

@csrf_protect # csrf 토큰이 넘어오지 않으면 403 에러를 발생시킨다. 반드시 POST로만 사용해야 한다.

@require_POST

def username_exists(request):

    username = request.POST.get('username')

    if User.objects.filter(username=username).exists():

        response_data = {'is_exists': True}

    else:

        response_data = {'is_exists': False}

    return JsonResponse(response_data)

[/code]

|

댓글 2개

그누파이를 만드시나요?
고생이 많으십니다. 화이팅!!

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

파이썬 게시판 만들기

+
번호 제목 글쓴이 날짜 조회
121 1년 전 조회 719
120 1년 전 조회 536
119 2년 전 조회 545
118 2년 전 조회 532
117 2년 전 조회 759
116 2년 전 조회 589
115 2년 전 조회 963
114 2년 전 조회 727
113 2년 전 조회 691
112 2년 전 조회 1,007
111 2년 전 조회 901
110 2년 전 조회 758
109 3년 전 조회 1,004
108 3년 전 조회 1,108
107 3년 전 조회 1,157
106 3년 전 조회 1,138
105 3년 전 조회 1,082
104 4년 전 조회 1,345
103 4년 전 조회 1,297
102 4년 전 조회 1,511
101 4년 전 조회 1,264
100 4년 전 조회 2,542
99 4년 전 조회 1,250
98 4년 전 조회 1,084
97 4년 전 조회 1,240
96 4년 전 조회 1,645
95 5년 전 조회 1,624
94 5년 전 조회 1,400
93 5년 전 조회 1,520
92 5년 전 조회 1,515
🐛 버그신고