有时request.ajax()为True,有时为False

时间:2015-07-24 20:26:10

标签: ajax django django-views

我有一个表单,想要通过AJAX向服务器发送数据:

$('#edit_form').submit(function () {
            var url = "/edit/";
            /*$("#edit_form :input").prop("disabled", true);*/
            $.post(url, $(this).serialize())
                .done(function (data) {
                    $('body').html(data);
            });
        });

我的观点:

def edit_main_page(request):
    try:
        person = Person.objects.first()
    except ObjectDoesNotExist:
        person = None
    if request.method == 'POST':
        form = MainPageForm(request.POST, instance=person)
        if form.is_valid():
            args={}
            args['person']=form.save()
            if request.is_ajax():
                html = render_to_string('index_ajax.html', args)
                return HttpResponse(html)
            else:
                return redirect(reverse('home'))
    else:
        form = MainPageForm(instance=person)
    return render(request, 'edit.html', {'form': form})

在调试时,第一次提交表单然后request.is_ajax()返回False,然后我返回该页面并再次提交,它可以是True。在我的脚本中,我看到执行了ajax请求。在调试时,当我多次提交表单时,request.is_ajax()可以是False的4倍,True

的一次

0 个答案:

没有答案