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>                                     
  • 相关阅读:
    牛客noip前集训营(第一场)提高T1
    约数的个数
    牛客OI赛制测试赛2 D 星光晚餐
    牛客OI赛制测试赛2 C 数组下标
    牛客OI赛制测试赛2 A 无序组数
    [题解] codevs 1486 愚蠢的矿工
    字典(trie)树--从入门到入土
    [题解] cogs 2240 架设电话线路
    [题解] cogs 1669 神秘的咒语
    LCIS 最长上升公共子序列问题
  • 原文地址:https://www.cnblogs.com/echo2019/p/10626390.html
Copyright © 2011-2022 走看看