zoukankan      html  css  js  c++  java
  • Django_ajax

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

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

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

    jqyery实现局部刷新更加高效:

    ajax实现的是异步交互:浏览器发送一个请求后,不用等服务器响应就可以发送第二个请求,更加高效(eg:qq发送消息就属于异步通信)====偷偷的想后端发请求

    json对象都是一些特殊的字符串,用双引号抱起来

    为什么要用json:多种语言之间的交互

    在前端要向后台发送数据,最好是发一个json类型的,然后通过反解得到json字符串:

    在python中:一个字符串经过dumps之后可以序列化成json字符串;一个json字符串通过loads反序列化可以得到python的字符串;

    在jQuery中:一个字符串可以通过stringfy的方法的到json的字符串;通过parse的方法可以拿到jQuery的字符串;

    前端数据===stringfy===>json字符串=====传到后端======>loads 反序列化的到python 数据

    后端数据===dumps====>json字符串====传到前端======>parse 发序列化得到前端数据;

    请求方式:POST与GET请求

    <script>
        $(".send_ajax").click(function () {
            $.ajax({
                url:"/get_ajax/",           #请求路径
                type:"GET",                  #请求方式
                data:{
                    username:"Mr_zhang",
                    password:123
                },                                 #请求数据
                success:function (data) {
                    alert(data)                #成功之后后端返回的数据
                }
            })
        })
    </script>
    

     后端获取前端的数据:

    def get_ajax(request):
        username = request.GET.get("username")      #获取到前端的数据
        password = request.GET.get("password")
        print("======",username,"======",password)
        return HttpResponse("egon is crying")         #返回给前端的数据
    

    PS:删除无刷新:

    先获取到当前点击的ID值,通过ajax传输到后台,后台通过串过来的ID值在数据库中查找,然后删除,由于是无刷新技术,所以只是在后端删除了,前端看不到结果:不过数据库的确是删除了的;药箱看到结果,在ajax中的success里面写jQuery代码就好了(先找到当前点击的,找他爸爸的爸爸,删除第一个,此时前端也没了,不过页面没有刷新)

    增删改查无刷新原理和这个类似,只是代码的细节问题

  • 相关阅读:
    vue create is a Vue CLI 3 only command and you are using Vue CLI 2.9.6. You
    Vue2.x是怎么收集依赖的
    只绑定一次事件的简单方法
    Proxy是怎么做数据劫持的
    使用babel进行打包
    使用npm link进行模块调试
    Webpack 热加载插件的实现原理
    Vue 服务端渲染的数据流
    Vue的生命周期钩子
    Linux定时任务
  • 原文地址:https://www.cnblogs.com/52-qq/p/7831331.html
Copyright © 2011-2022 走看看