zoukankan      html  css  js  c++  java
  • Ajax

    一、Ajax简介

    AJAXAsynchronous Javascript And XML)翻译成中文就是异步JavascriptXML”。即使用Javascript语言与服务器进行异步交互,传输的数据为XML(当然,传输的数据不只是XML,现在更多使用json数据)。

    • 异步交互:客户端发出一个请求后,无需等待服务器响应结束,就可以发出第二个请求。
    • AJAX除了异步的特点外,还有一个就是:浏览器页面局部

    优点

      AJAX使用Javascript技术向服务器发送异步请求

      AJAX无须刷新整个页面

    AJAX提交的是post请求

     

    用ajax写一个计算式

     

    views.py

    from django.http import JsonResponse
    def count1(request):
        if request.method == "GET":
            return render(request, "count.html")
        else:
            ret = {"state": True, "msg": None}
            try:
                p1 = request.POST.get("p1")
                p2 = request.POST.get("p2")
                sum1 = int(p1) + int(p2)
                ret["sum1"] = sum1
            except Exception:
                ret["state"] = False
                ret["msg"] = "输入错误"
            return JsonResponse(ret)

    count.html

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <script src="/static/jquery-1.12.4.js"></script>
    </head>
    <body>
    {% csrf_token %}
    
    <input type="text" class="p1">+ <input type="text" class="p2"> = <input type="text" class="sum"><input
            type="button" class="count2" value="计算"><span class="sp"></span>
    
    <script>
        $(".count2").click(function () {
            let p1=$(".p1").val();
            let p2=$('.p2').val();
            $.ajax({
                url:"{% url 'count1' %}",    //路径
                type:"post",
                data: {                             //返回到views的值   
                    p1:p1,
                    p2:p2,
                    csrfmiddlewaretoken: $("[name=csrfmiddlewaretoken]").val(),
                },
                success:function (data) {      //data 是views传过来的值,是一个对象
                    if(data.state){
                        $(".sum").val(data.sum1)     //将计算结果填入空格
                    } else{
                        $(".sp").html(data.msg);    // 输入错误
                        setTimeout(function () {      // 设置定时器,让输入错误1秒后消失
                            $(".sp").html("")
                            },1000);
                    }
                }
        })
    
        })
    </script>
    </body>
    </html>                                     
  • 相关阅读:
    [oracle 使用(1)] win7/10 下Oracle10g的安装与卸载
    [原创]利用爬虫技术获取网页数据,以及想要的指定数据
    [mysql使用(1)] 64位Linux下安装mysql-5.7.13-linux-glibc2.5-x86_64
    aop 常见的问题
    Git技巧:右键菜单怎么去除?
    jrebel激活
    python与mysql连接
    linux下mysql的安装
    Linux下jdk和tomcat安装
    Lotto
  • 原文地址:https://www.cnblogs.com/echo2019/p/10626390.html
Copyright © 2011-2022 走看看