django jquery $ .get to $ .post - PullRequest
       6

django jquery $ .get to $ .post

0 голосов
/ 31 января 2012

у Джанго у меня

#template
$.get("/places/{{ place.id }}/save/",{description : cadena }

#view
place.description = request.POST.getlist('description')[0]

работает нормально. но если попытаться изменить на $.post

#template
$.post("/places/{{ place.id }}/save/",{description : cadena }

#view
print request.POST

ничего не случилось

1010 * решить * моя проблема, я не добавил context_instance=RequestContext(request) в целях отправки $.post для этого crsf_token не существует. с этим изменением теперь работают $.post("/places/{{ place.id }}/save/",{description : cadena, csrfmiddlewaretoken: '{{ csrf_token }}'} и необходимо {{ csrf_token }} не {% csrf_token %}.
{% csrf_token %} создать <input ...>

1 Ответ

0 голосов
/ 31 января 2012

Возможно, вы столкнулись с проблемой подделки межсайтовых запросов (CSRF) - Django отклоняет POST, потому что токена CSRF нет. Для Ajax вам потребуется выполнить специальную обработку или пометить представление как csrf_exempt. Более подробную информацию об этом можно найти здесь: https://docs.djangoproject.com/en/dev/ref/contrib/csrf/#ajax

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...