文章目录
一.同步异步
异步请求会进行阻塞,在接受数据后不能执行后续代码
异步请求可以执行后续的代码,通过回调函数获取执行结果
二 .使用异步请求后台检测用户是否存在
1.监听用户在输入框的失焦事件
$("#id_username").blur(function(){ }
2.在失焦事件中发起ajax请求
$.ajax({
type:"get", #请求类型为get
url:"/checkusername/?username="+$("#id_username").val(), #请求路由和 get参数
#请求成功回调success方法 返回结果传入data
success:function(data){
console.log(data);
if(data["statecode"]==0)
{
$("#errorinfo").text(data["error"] ) #将结果显示在对应元素上
}
}
})
3.编写相对应的路由
url(r’^checkusername/$’, views.CheckUserNameView.as_view(),
name=“checkusername”)
4.编写对应的视图函数
class CheckUserNameView(View):
def get(self,req):
username = req.GET.get("username")
user = MyUser.objects.filter(username = username).first()
if user:
return JsonResponse({"statecode":"1"} )
else:
return JsonResponse({"statecode":"0","error":"用户名不存在"})