在Django下用Js写Ajax异步请求,用户名注册存在提示

注册页面html:

<script src="/static/js/myjs.js"></script>
------省略-----
<tr>
   <td>用户名:</td>
   <td><input type="text" name="user_name" id="user_name"/></td>
   <td><span id="user_name_error"></span></td>
 </tr>

    <script>
        var user_name = document.getElementById('user_name');
        user_name.onblur = function () {
            my_ajax('/checkusername?user_name='+user_name.value,function (data) {
                if (data == "1"){
                    document.getElementById('user_name_error').innerText="用户名已存在"
                }else{
                    document.getElementById('user_name_error').innerText="用户名可用"
                }
            })
        };
    </script>

myjs.js中的代码:

function my_ajax(url,callback,params=null,method='get',isasy=true){
    var xmlhttp;
    /*获取XMLRequest的对象,可以发送异步请求*/
    if (window.XMLHttpRequest){
        xmlhttp = new XMLHttpRequest();
    }else{
        xmlhttp - new ActiveXOBject('Microsoft.XMLHTTP');
    }
    /*绑定事件*/
    xmlhttp.onreadystatechange = function(){
        if (xmlhttp.readyState==4 && xmlhttp.status==200){
            callback(xmlhttp.responseText)
        }
    }
    /*准备并发送*/
    xmlhttp.open(method, url, isasy)
    xmlhttp.send(params)
}

urls.py中的代码:

url(r'^checkusername$',views.checkusername)

views.py中的代码:

记得引用相关模块

def checkusername(request):
    user_name = request.GET.get('user_name')
    if UserInfo.objects.filter(userName = user_name).exists():
        return HttpResponse(1)
    else:
        return HttpResponse(0)

页面效果:


ydd账号已被注册
账号可用
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容