@Artyom02
Начинающий программист

Как передать параметр из ajax в django и обработать его?

Добрый вечер! Мне необходимо передать число из js и обработать его в django после чего вернуть обратно. У меня не получается передать число и обработать его.

JavaScript
publicImg.forEach(icon => {
	icon.addEventListener('click', () => {
		$.ajax({
			type: "GET",
			url: "http://127.0.0.1:8000/photo/click_on_photo/",
			data: icon.dataset.counter,
			dataType: "text",
			cache: false,
			success: function(data) {
				loadComments(data)
			}
		})
	})
})

views.py
def clicked_photo(request):

    a = 1 # эта переменная будет передаваться в ajax запросе

    if request.method == "GET":
        icon = Image.objects.get(id = a)
        comms = ImageComment.objects.filter(comment_id = icon.id)

        object_info = { 
            "image": icon.icon.url, 
            "comms": computeComs(comms)
        }
            
    return JsonResponse(object_info)
  • Вопрос задан
  • 935 просмотров
Решения вопроса 1
@Artyom02 Автор вопроса
Начинающий программист
В общем после длительного поиска в интернете, я нашел решение. Нужно было заменить ключ в функции создания ajax-запроса, поменять type на method. Для тех у кого будет схожая проблема:
1. потребуется передавать объект в функции создания ajax-запроса в поле data
2. Для того, чтобы, принять это значение потребуется после request.method == "GET" написать elem = request.GET.get('<ключ объекта из ajax-запроса>')
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы