我有一个表单,想要通过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