• Ajax之引入


    【一】Ajax简介

    【1】精髓

    精髓:异步提交/局部刷新

    【2】发送请求的方式

    • 向后端发送请求的方式
      • 浏览器地址直接url回车
        • GET请求
    • a标签的 href 属性
      • GET请求
    • form表单
      • GET请求/POST请求
    • Ajax
      • GET请求/POST请求

    【3】简介

    Ajax不是新的编程语言,而是一种使用现有标准的新方法(类比装饰器)

    Ajax最大的优点就是不重新加载页面的情况下,可以与服务器交换数据并更新部分网页内容

    这种特点给用户的感觉就是在不知不觉中完成了请求和响应过程

    • Ajax(Asynchronous JavaScript and XML)是一种用于创建动态网页的编程技术。

      • 它通过在网页上进行异步数据传输,实现了在不重新加载整个页面的情况下更新部分页面内容的能力。
    • Ajax的核心技术包括使用JavaScript和XMLHttpRequest对象与服务器进行数据交互,以及利用DOM(Document Object Model)来动态地更新页面。

    • 通过使用Ajax,网页可以在后台与服务器进行数据交换,并在不刷新整个页面的情况下,根据服务器返回的数据实时更新页面的某些部分。

    • 这种技术带来了很多好处,比如提高了用户体验、减少了网络流量和服务器负载,并使得开发人员能够创建更加交互和动态的网页应用程序。

    • 虽然Ajax最初是指Asynchronous JavaScript and XML,但如今已经不仅限于使用XML作为数据传输的格式,而是可以使用各种格式,如JSON(JavaScript Object Notation)。

    • 总结起来,Ajax是一种强大的前端开发技术,通过异步数据传输和动态页面更新,提供了更好的用户体验和交互性,广泛应用于现代Web应用程序的开发中。

    Ajax的学习按理来说其实还是js代码,应该学习JavaScript的Ajax的写法,就不学习JavaScript版本的,直接学习jQuery版本的,帮我们封装了,如果不封装,js版本的Ajax非常复杂

    1. document.getElementById('d1').innerHTML = xmlhttp.responseText;
    2. document.getElementByClssName('c1').innerHTML = xmlhttp.responseText;
    3. document.getElementById('d1').innerHTML = xmlhttp.responseText;
    4. document.querySelector('#d1 a ').innerHTML = xmlhttp.responseText;
    5. document.querySelector('.c1').innerHTML = xmlhttp.responseText;
    6. document.querySelector('h1').innerHTML = xmlhttp.responseText;

    【二】Ajax引入

    【1】案例

    • 页面上有三个 input 框
      • 在前面两个框输入数字,点击按钮,朝后端发送Ajax请求
      • 在后端计算出结果,再返回给前端动态展示的第三个input框中
    • 要求
      • 整个过程页面不能刷新,也不许在前端计算

    后端

    1. def ab_ajax(request):
    2. # if request.is_ajax():
    3. if request.method=='POST':
    4. '''接收ajax提交过来的数据'''
    5. #
    6. print(request.POST)
    7. # d1 = request.POST.get('inp1') # str
    8. # d2 = request.POST.get('inp2') # str
    9. # d3 = int(d1) + int(d2)
    10. # 序列化
    11. import json
    12. # json.dumps(d3)
    13. user_dict = {"username":"kevin", "password":123}
    14. # return HttpResponse(json.dumps(d3))
    15. return HttpResponse(json.dumps(user_dict))
    16. # return JsonResponse(user_dict)
    17. return render(request, 'ab_ajax.html')
    • html 页面
    1. <script>
    2. $(".btn").click(function () {
    3. var inp1 = $("#inp1").val();
    4. var inp2 = $("#inp2").val();
    5. // 把获取到的两个值提交到后端,然后让Python来计算,然后返回
    6. $.ajax({
    7. url:'', // 默认不写,就是朝当前地址传递
    8. type:'post',
    9. dataType:'json',
    10. data:{inp1:inp1, inp2:inp2},
    11. // 回调函数用来接收后端返回的数据
    12. success:function (res) {
    13. // {"username": "kevin", "password": 123}
    14. console.log(res,) // 就是拿后端返回的数据
    15. // 反序列化
    16. {#res=JSON.stringify()#}
    17. // 后端返回的数据别忘了反序列化,但是你的护短别往了序列化
    18. {#res=JSON.parse(res)#}
    19. console.log(typeof res) // 就是拿后端返回的数据
    20. console.log(res.username) // 就是拿后端返回的数据
    21. console.log(res.password) // 就是拿后端返回的数据
    22. {#$("#inp3").val(res);#}
    23. }
    24. })
    25. })
    26. script>

  • 相关阅读:
    Qt Widget 自定义TitleBar带阴影窗口
    Windows系统远程桌面连接CentOS7
    HCL实验,ping通两个不同服务器的PC
    Kubeadm部署K8s
    学习笔记4--导航与定位技术
    分库分表的几个常见方面
    怎样清理Mac存储空间 苹果电脑内存不够用怎么办 苹果电脑内存满了怎么清理
    android 11.0 获取当前界面的APP ,在APP的界面禁止灭屏
    在Java中,为啥synchronized 锁升级的过程中,锁标记从对象头拷贝到线程本地变量表?
    点成案例丨温度梯度培养箱在探究温度对植物发芽影响中的应用
  • 原文地址:https://blog.csdn.net/m0_71292438/article/details/134516195