BACK-END/Django

[Django] Django에서 ajax 사용하기

이리53 2021. 10. 19. 22:15

ajax

<script>
    const funcName = function () {
        return new Promise((resolve, reject) => {
            $.ajax({
                type: 'POST',
                url: 'post요청을 받을 url주소',
                headers: {
                    'X-CSRFTOKEN': '{{ csrf_token }}'
                },
                data: JSON.stringify(post방식으로 전송할 데이터),
                success: (res) => {
                    resolve(res);
                },
                error: (e) => {
                    reject(e);
                }
            });
        });

    }

    $(document).on('click', "#btn", async () => {
        try {
            const res = await funcName();
            console.log(res);
        } catch (e) {
            console.log(e);
        }
    });
</script>

 

view

받은 데이터를 그대로 다시 return하는 경우

data = json.loads(request.body)
return JsonResponse(data)

 

특정 데이터를 queryset을 사용하여 조회후 return하는 경우

data = Data.objects.all()
data = list(data.values())
return JsonResponse(data, safe=False)

 

 

출처

[JS] jQuery ajax와 async / await

Ajax (Callback, Promise, async/await)

Django에서 '딱 하나'의 DB query를 JsonResponse으로 회신

[DJANGO] AJAX를 이용해서 데이터 주고받기