Страницы

Поиск по вопросам

четверг, 28 февраля 2019 г.

Кнопки изменения рейтинга на ajax

Нужно реализовать ajax-запросы голосования "за" и "против" к комментариям, по аналогии как на Баше: т.е. при нажатии на кнопку не происходит перезагрузка страницы, а только меняется рейтинг. И как это событие обработать в джанговском представлении? Спасибо.


Ответ

В общем сделал так: навесил на кнопки функцию: function voite(id, action){ $.post("/quote/", {comment_id: id, comment_action: action}); } А на адрес '/quote/' навесил обработчик во вьюхе, обрабатывающий пост-запрос. Если нужно(интересно) - могу привести более детальный код. Дополнение. Скажу заранее, что обработчик лежит в отдельном приложении и обрабатывает страницу '/quote/', т.е. в urls.py есть такая строчка: (r'^quote/$', 'ajax.views.quote'), где 'ajax.views.quote' - путь к обработчику. Вот сам текст обработчика: def quote(request):
message = "This is a technic page" if request.method == 'POST': if 'comment_id' in request.POST and 'comment_action' in request.POST: #обрабатываем запрос, повышаем/понижаем рейтинг и т.д.
return HttpResponse(message) В обработчике проверяем метод, далее извлекаем из запроса (request) параметры и делай все что нам нужно.

Комментариев нет:

Отправить комментарий