后端视图代码javascript
from django.views import View from django.http import HttpResponse,JsonResponse from users import models class Verfiy_username(View): def get(self,request,username): count = models.Users.objects.filter(username= username).count() data = { 'username' : username, 'count' : count } return JsonResponse(data)
urls注册前端
from django.urls import path,re_path from . import views app_name = 'verifications' urlpatterns = [ re_path('verfiy_username/(?P<username>\w{5,20})/',views.Verfiy_username.as_view(),name = 'verfiy_username'), ]
js代码java
$(function () { var $username = $("#user_name"); //获取输入用户名框标签 $username.blur(function () { //焦点失去时,调用用户验证函数 check_username(); }); function check_username() { var username = $username.val(); if (username === ''){ message.showError('用户名不能为空'); return } if (!(/^\w{5,20}$/).test(username)){ message.showError('请输入5-20个字符的用户名'); return } //发送AJAX请求,查询用户名是否已被注册 $.ajax({ type: "GET", url: '/verfiy_username/' + username + '/', //url不要使用双引号,有bug // url: '/usernames/' + username + '/', dataType: 'json' }) .done(function (data) { if (data.count == 0) { message.showInfo(data.username + '能正常使用'); // alert("能正常使用"); } else { message.showError(data.username + '用户已被注册过'); } }) .fail(function () { message.showError("服务器超时,请从新刷新一遍"); }); } });