美文网首页
Django--ajax(简单版本)

Django--ajax(简单版本)

作者: 一纸繁鸢w | 来源:发表于2019-01-04 15:50 被阅读0次

    Ajax 即 Asynchronous Javascript and XML (异步 JavaScript 和 XML) 。运用在前端页面的技术,用于
    向服务器发送异步请求。
    传统请求:用户发送请求 -> 服务器会接收请求并处理请求 -> 返回响应结果(HttpResponse('注册成
    功')/render())-> 显现在前端页面(浏览器中) -- 之前整个页面的内容会被替换掉
    AJAX 请求最大的优点是在不重新加载整个页面的情况下,可以与服务器交换数据并更新部分网页内容。

    实例:光标离开判断用户名是否合法

    1. templates发送js请求(get请求)
    function check() {
        var username = document.getElementById("username").value
        xhr.open('get', '/day01/checkname/?username=' + username, true)
        xhr.send();
        xhr.onreadystatechange = function () {
            if(xhr.readyState == 4 && xhr.status == 200) {
                var msg = xhr.responseText;
                if(msg=="用户名合法"){
                    document.getElementById("msg").innerHTML="<img width='15px' src='{% static "right_3.jpg" %}'/>"
                }
            }
        }
    }
    
    1. views检查name是否存在
    def checkname(request):
        username = request.GET.get("username")
        print("name=",username)
        user = User.objects.filter(username=username)
        if user:
            return HttpResponse("用户名已存在")
        if username.strip()=="":
            return HttpResponse("用户名不合法")
        return HttpResponse("用户名合法")
    
    1. 配置urls映射完成请求

    post请求

    xhr.open("POST",url,true);
    xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");
    xhr.send("name=Henry&password=123456"); # 在send方法中传参
    xhr.setRequestHeader("X-CSRFToken", '{{ csrf_token }}');

    相关文章

      网友评论

          本文标题:Django--ajax(简单版本)

          本文链接:https://www.haomeiwen.com/subject/wlqkrqtx.html