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>                                     
  • 相关阅读:
    Linux Core Dump
    ODP.NET Managed正式推出
    获取EditText的光标位置
    (Java实现) 洛谷 P1603 斯诺登的密码
    (Java实现) 洛谷 P1603 斯诺登的密码
    (Java实现) 洛谷 P1036 选数
    (Java实现) 洛谷 P1036 选数
    (Java实现) 洛谷 P1012 拼数
    (Java实现) 洛谷 P1012 拼数
    (Java实现) 洛谷 P1028 数的计算
  • 原文地址:https://www.cnblogs.com/echo2019/p/10626390.html
Copyright © 2011-2022 走看看