zoukankan      html  css  js  c++  java
  • Ajax

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

    • 同步交互:客户端发出一个请求后,需要等待服务器响应结束后,才能发出第二个请求;
    • 异步交互:客户端发出一个请求后,无需等待服务器响应结束,就可以发出第二个请求。

    AJAX除了异步的特点外,还有一个就是:浏览器页面局部刷新;(这一特点给用户的感受是在不知不觉中完成请求和响应过程)

    js实现两个数的和:

    ///模板方面/////
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    {% csrf_token %}
    <p>输入<input type="text" id="t1"></p>
    <p>输入<input type="text" id="t2"></p>
    <p><button class="btn">计算和</button><span class="sum"></span></p>
    </body>
    <script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.js "></script>
    <script>
        $('.btn').click(function () {
            $.ajax({
                url:'/sum2/',
                type:"POST",
                data:({
                    csrfmiddlewaretoken:$("[name='csrfmiddlewaretoken']").val(),
                    t1:$('#t1').val(),
                    t2:$('#t2').val()
                }),
                success:function (sum) {
                    var sum=JSON.parse(sum);
                    $('.sum').html(sum)
    
                }
            })
        })
    
    </script>
    </html>
    
    
    
    ///视图方面/////
    
    def sum(request):
        # t1=request.GET.get('t1')
        # t2=request.GET.get('t2')
        # print(t1)
        return render(request,'sum.html')
    
    
    def sum2(request):
        t1=request.GET.get('t1')
        t2=request.GET.get('t2')
    
    
        return HttpResponse(json.dumps(int(t1)+int(t2)))

    用Ajax实现表的删除操作:

    ///////模板方面/////////
    
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    <h3>实现计算器的功能</h3>
    <div class="bs-example" data-example-id="contextual-table">
        <table class="table">
          <thead>
            <tr>
    
              <th>序号</th>
              <th>用户名</th>
              <th>密码</th>
            </tr>
          </thead>
          <tbody>
          {% for user in user_list %}
          <tr class="active">
    
    
                    <td class="id">{{ user.id }}</td>
                    <td>{{ user.username }}</td>
                    <td>{{ user.password }}</td>
    
                
    
              
              <td><button>删除</button></td>
            </tr>
    {% endfor %}
          </tbody>
        </table>
      </div>
    </body>
    <script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.js "></script>
    <script>
        $('button').click(function () {
            $.ajax({
                url:'/list_ajax/',
                type:'get',
                data:({
                    id:$(this).parent().parent().children().first().text()
                }),
                success:function (id) {
                    var id=JSON.parse(id);
    
                    console.log($(this));
                    $('.id').each(function () {
                        if($(this).html()==id){
                            $(this).parent().remove()
                        }
                    })
    {#                $(this).parent().parent().remove()#}
    
                }
    
            })
        })
    </script>
    </html>
    
    
    
    ///////视图方面/////////
    
    def list(request):
        user_list=models.UserInfo.objects.all()
        return render(request,'list.html',{'user_list':user_list})
    
    
    def list_ajax(request):
        id=request.GET.get('id')
        models.UserInfo.objects.filter(id=id).delete()
        return HttpResponse(json.dumps(id))

     

  • 相关阅读:
    Jenkins参数化构建
    python笔记
    jenkins定时任务
    技巧:Vimdiff 使用
    clover如何使用UEFI引导和EFI驱动选择
    Broadcast BCM94322 用ubuntu修改ID
    MAC实现睡眠和休眠唤醒
    MAC的睡眠模式介绍
    linux 用dd命令读写引导区文件
    MAC下打开FTP服务
  • 原文地址:https://www.cnblogs.com/ldq1996/p/7834122.html
Copyright © 2011-2022 走看看