Форум сайта python.su
Скрипт на Jquery отсылает Ajax запрос на сервер. К этому запросу прикреплена строка, которую сервер должен получить, преобразовать в число и отослать обратно скрипту
Код скрипта:
$(function(){ $("#add-more-button").click(function() { var displayedPostsCount = $(".post").length; $.ajax({ type: "post", url: "/add-more/", data: displayedPostsCount.toString(), success: function (data) { $("#added").html(data); }, dataType: "text", }); }); });
@csrf_exempt def add_more(request): if request.is_ajax(): posts_count = request.POST upd_posts_count = int(posts_count) + 5 return HttpResponse(upd_posts_count)
url(r'^add-more/$', 'add_more'),
Офлайн
BandicootДаже если сервер возвращает ошибку 500, как правило клиенту приходит более-менее вменяемое описание ошибки (если DEBUG=True), посмотрите нормальным дебаггером, что пишет.
Получаю ошибку 500 (internal server error) при любых попытках обработать значение request.POST
posts_count = request.POST upd_posts_count = int(posts_count) + 5
request.POST['some_key']
Отредактировано FishHook (Дек. 3, 2012 19:57:05)
Офлайн
Если view вызывается именно так, как показали, то нужно не request.POST использовать, который содержит пост параметры, а request.body - сырые данные.
А если функция написана так же как в посте, то еще и upd_posts_count не инициализирован в случае not request.is_ajax()
BandicootВключите отладку, ошибки понятнее будут выглядеть.
Получаю ошибку 500 (internal server error) при любых попытках обработать значение request.POST
Офлайн
Спасибо, вроде разобрался
Офлайн