Ajax简单运用(JavaScript-----jQuery-------)
首先引用 jQuery
写一个简单的表单
<form id="f1" method="POST" action="/form_login/"> {% csrf_token %} <p>用户:<input id="title_1" type="text" name="username"/>p> <p>密码:<input type="password" name="password"/>p> <p><input type="submit" name="提交">{{message}}p> <a onclick="abc()">提交a> {# 点击链接到JavaScript函数 #} form>
相关视图函数
1 from django.forms import Form,fields,widgets 2 class FormLogin(Form): 3 4 username=fields.CharField(min_length=6,max_length=18,required=True, 5 error_messages={ 6 'required':'用户名不能为空', 7 'min_length':'最小长度为6', 8 'max_length':'最大长度18', 9 } 10 ) 11 #里面就包含了正则验证:不能为空、6-18 12 #这个要html里面的name属性一样 13 #写几个就验证几个规则 14 password = fields.CharField(min_length=6, max_length=18, required=True, 15 error_messages={ 16 'required': '密码不能为空', 17 'min_length': '最小长度为6', 18 'max_length': '最大长度18', 19 } 20 ) 21 # t1 = fields.IntegerField # 数字正则表达式 22 # t2 = fields.EmailField() # 邮箱正则表达式 23 # email=fields.GenericIPAddressField() #IP正则表达式
def form_login_ajax(request): import json ret={'status':True, 'msg':None} #有个状态,方便后面判断 obj = FormLogin(request.POST) if obj.is_valid(): # 去匹配 print(obj.cleaned_data) # 正确的信息 #return redirect('http://www.baidu.com') else: print(obj.errors) # v=json.dumps(obj.errors,ensure_ascii=False)#通过json 对它序列化 # print(v) ret['status']=False ret['msg']=obj.errors #obj.errors是个字典 v=json.dumps(ret,ensure_ascii=False) #为了能打印出来 print(v) return HttpResponse(v) #也能返回render(本质还是HttpResponse),但是这里返回这个比较好,弄个json.domp字典返回最好 # return render(request, 'form_login.html', {'obj': obj, 'user': user, 'pwd': pwd}) #完成验证和提示错误,但是无法保留Form表单上次输入内容
发送Ajax请求和接受视图函数返回的数据并且处理
ps:
问题待补充:
jQuery 三大选择器 除了能 .remove() .hide() 还能.什么,哪里可以查到相关的全部