多个ajax请求杀死django服务器

时间:2016-12-17 06:52:02

标签: ajax django django-forms django-views ajaxform

我有一个滚动浏览用户数据的视图。滚动有下一个和上一个按钮。当用户按下next时,ajax将用户id发送到django视图并显示数据。 如果用户连续两次或三次点击下一个按钮(他们通常会这样做),则调用将中止,服务器将被终止。

$("#new").click(function() {
     $.ajax({
        type:'POST',
        url:'/new/',
        data:{
               csrfmiddlewaretoken:$('input[name=csrfmiddlewaretoken]').val()
        },
        success:searchSuccess,
        dataType: 'html'
    });
});

function searchSuccess(data, textStatus, jqXHR)
    {
        $('#myForm').html(data);
     }

这是观点。

def master_detail_next(request):
    def decrement_voucher_id(form_id):
        voucher_id = str(int(form_id) - 1).zfill(4)
        return voucher_id

    if request.method == 'POST':
        form_id = request.POST['voucher_id']
        voucher_id = decrement_voucher_id(form_id)
        voucher_id = get_decremented_voucher_id(voucher_id)
    else:
        voucher_id = ''

    # Inline forms
    author = TmpPlInvoice.objects.get(voucher_id=voucher_id)
    author_form = TmpForm(instance=author)

    BookFormSet = inlineformset_factory(TmpPlInvoice, TmpPlInvoicedet,
                                    exclude=('emp_id', 'voucher', 'lineitem', 'id',),
                                    form=TmpFormDetForm, )
    formset = BookFormSet(instance=author)
    totalform = TmpFormTotal(instance=author)
    postform = CheckPostedForm(instance=author, posted=author.posted)
    return render(request, 'form.html', {'form': author_form, 'formset': formset, 'formtotal': totalform, 'postform': postform})

我怎么能避免这种情况?我做错了什么?

Ajax calls

0 个答案:

没有答案