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()  还能.什么,哪里可以查到相关的全部