以下是我的代码,我想通过模态框和Ajax实现传递返回数据的功能,但现在为什么页面没有一点反应,而且也不返回错误提示,代码是有在页面中写返回错误信息的
前端代码
<div class="container">
<div>
<input id="btnAdd" type="button" value="新建订单" class="btn btn-primary">
</div>
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span
aria-hidden="true">×</span></button>
<h4 class="modal-title" id="myModalLabel">新建订单</h4>
</div>
<div class="modal-body">
<form id="formAdd" novalidate>
<!--<div class="clearfix">-->
{% for field in form%}
<!--<div class="col-xs-6">-->
<div class="form-group" style="position:relative;margin-bottom:20px;">
<label> {{ field.label}}</label>
{{field}}
<span class="error-msg" style="color:red;position:absolute"></span>
</div>
<!--</div>-->
{%endfor%}
<!--</div>-->
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>
<button id="btnSave" type="button" class="btn btn-primary">保存</button>
</div>
</div>
</div>
</div>
</div>
{% endblock %}
{%block time %}
<script type="text/javascript">
$(function(){
bindBtnAddEvent();
bindBtnSaveEvent();
})
<!-- 订单展示-->
function bindBtnAddEvent() {
$('#btnAdd').click(function(){
<!-- 点击新建按钮,显示对话框-->
$('#myModal').modal("show");
});
}
function bindBtnSaveEvent() {
$("btnSave").click(function(){
$(".error-msg").empty();
$.ajax({
url:"/order/add/",
type:"POST",
data:$("formAdd").serialize(),
dataType:"json",
success:function(res){
if(res.status){
alert("创建成功");
}else{
$.each(res.error,function(name,errorList){
$("#id_"+name).next().text(errorList[0]);
})
}
}
})
});
}
</script>
后端代码
@csrf_exempt
def task_add(request):
"""任务添加"""
print(request.POST)
# 1.用户发送过来的数据进行校验(ModelForm进行校验)
form = TaskModelForm(data=request.POST)
if form.is_valid():
form.save()
data_dict = {"status": True}
return HttpResponse(json.dumps(data_dict))
data_dict = {"status": False, 'error': form.errors}
return HttpResponse(json.dumps(data_dict, ensure_ascii=False))