Найти - Пользователи
Полная версия: Получение данных через Ajax
Начало » Django » Получение данных через Ajax
1
damask
Задача: в текстовом поле вводится текст, по нажатию кнопки данные нужно отправить в БД. В скрипте написал следующее:
$(document).ready(function(){
$('#btn_add').click(function(){
var TextStory = $("#txt_story").val();
var MailStory = $("#mail_story").val();
$.ajax({
type: "POST",
url: "../instext",
data: "TextStory"+TextStory,
dataType: "json",
success:function(){
alert("Все отлично ушло на сервер");
},
error:function(){
alert("При отправке возникли проблемы");
}
});
});
});
В views такое:
def instext(request):
if 'TextStory' in request.POST and request.POST['TextStory']:
TheStory = request.POST['TextStory']
. . . . .
В результате ничего не приходит. Сервер показывает 500ю ошибку. Что не так?
d1ffuz0r
там c csrf надо что то мутить
pill
Добавление джанговской куки к аякс запросам:
https://docs.djangoproject.com/en/dev/ref/contrib/csrf/#ajax

ЗЫ: Зачем такая длинная проверка?:
def instext(request):
the_story = request.POST.get('TextStory')
if the_story:
...do something...
damask
А можно как то отключить эту защиту, или кто может конкретно объяснить, что именно нужно делать?
pill
damask
А можно как то отключить эту защиту, или кто может конкретно объяснить, что именно нужно делать?
В темплейте:
<script src="http://code.jquery.com/jquery-1.4.4.min.js"></script>
<script type="text/javascript">
Код из вышеприведенной ссылки
</script>
отключить - кажеться достаточно убрать ‘django.middleware.csrf.CsrfViewMiddleware’ из списка middleware в settings.py. Но 100% не гарантирую
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB