Javascript Django表单通过ajax调用提交
我对Ajax还很陌生。我试图抓住所有的概念,我试图通过ajax提交一个表单。这是我的密码 views.py:Javascript Django表单通过ajax调用提交,javascript,jquery,python,ajax,django,Javascript,Jquery,Python,Ajax,Django,我对Ajax还很陌生。我试图抓住所有的概念,我试图通过ajax提交一个表单。这是我的密码 views.py: def ajax_test1(request): if request.POST: form = ModelForm(request.POST) if form.is_valid(): form.save() print request.POST.get('name') x =
def ajax_test1(request):
if request.POST:
form = ModelForm(request.POST)
if form.is_valid():
form.save()
print request.POST.get('name')
x = request.POST.get('name')
if request.is_ajax():
response_dict = {}
response_dict.update({'server_response':x})
return HttpResponse(json.dumps(response_dict),content_type='application/json')
else:
return HttpResponse('not ok')
else:
form = ModelForm()
return render(request,'test1.html',{'form':form})
Jquery:
$(document).ready(function(){
$('#button').click(function{
var input_id = $('#id_name').val();
$.ajax({
type:'POST',
url:'/test1/',
datatype:'json',
data:{name:input_id},
success: function(json){
$('result').append(json.server_response);
},
headers:{'X-CSRFToken':csrf_token},
error: function(xhr,errmsg,err){
alert('Something worng');
}
});
});
});
Html:
上面的代码返回200个响应,但数据未保存,并且返回ServerResponse:Undefined空格在python中很重要,您能否修复问题中的格式以正确显示代码?使用Ctrl+K可能有助于完成此响应json将是{'server_response':},因此您可以通过json.server_response而不是json.name获取名称。我编辑了这个问题。任何人都可以帮我吗?你提供的代码对我来说是正确的,在单步执行代码时是否有任何错误?您如何验证数据是否已保存?
<form action="" method="POST" accept-charset="utf-8">
{% csrf_token %}
{{ form }}
<p><input id="button" type="submit" value="Continue →"></p>
</form>
<div id="result">
</div>
<div id="result1">
</div>