Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Python: Веб-разработка и фреймворки > [Django] Получение данных через Jquery Ajax


Автор: damask 3.8.2011, 16:46
Требуется добавить запись в бд, но при отправке данных получаю 403 ошибку. 


Код SJ:
Код

$(document).ready(function(){
        $('#btn_add').click(function(){
            var TextStory = $("#txt_story").val();
            var MailStory = $("#mail_story").val();
            $.ajax({
                type: "POST",
                url: "/insertstory/",
                data: "TextStory"+TextStory,
                dataType: "json",
                success:function(){
                    alert("Все отлично ушло на сервер");
                },
                error:function(){
                    alert("При отправке возникли проблемы");
                }
            });
        });


Принимающее представление:
Код

def insertstory(request):
    if 'TextStory' in request.POST and request.POST['TextStory']:
        TheStory = request.POST['TextStory']
    TheInsert = story(sstory=TheStory)
    TheInsert.save()
    return render_to_response('news_list.html')


В urls.py представление описано.  Сам JS, вполне рабочий, так как на сайте на php работает. 

Автор: Dagger 10.8.2011, 15:19
Больше подробностей, especially:
 - полный текст 403 ошибки (что *именно* в тексте ошибки, а не только код)
 - покажи urls.py аппа и если иклюдится в рутовый - покажи urls.py рутового файла урлов


Ну и естественно поправь ошибки, например:

wtf#1:
Код

data: "TextStory"+TextStory,


должно быть
Код

data: {
TextStore: TextStore
}


wtf#2:
Код

return render_to_response('news_list.html')


яваскрипт ожидает получить json, а судя по шаблону получает html

Автор: sev16 10.1.2012, 18:47
Если версия джанги >= 1.2 то копай в сторону Cross Site Request Forgery protection в документации джанги. При переходе с версии 1.1 встречал подобную проблему только при отправке методом POST.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)