Ajax基础操作

【一】Ajax简介

【1】介绍#

  • Ajax(Asynchronous Javascript And XML)翻译成中文就是“异步的Javascript和XML”。
  • 就是使用JavaScript语言与服务器进行异步交互
  • Ajax不是新的编程语言,而是一种使用现有标准的新方法。
  • Ajax最大的优点是重新加载整个页面的情况下与后端服务器交换数据,并且更新局部网页内容,也就是在不知不觉中完成请求与响应的过程

【2】精髓#

  • Ajax的精髓在于八字
  • 异步提交,局部刷新

【3】总结发送请求的方式#

# 1.浏览器直接输入url回车
GET请求

# 2.点击a标签
GET请求

# 3.form表单
GET/POST请求

# 4.Ajax
GET/POST请求

【二】案例

  • 现有三个输入框,要求在前两个框内输入数字,点击按钮后第三个框得到结果
  • 整个页面不能刷新,也不能把计算的逻辑放在前端

【1】前端页面#

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    {% load static %}
    <script src="{% static 'jQuery.min.js' %}"></script>
    <script src="{% static 'bootstrap/js/bootstrap.min.js' %}"></script>
    <link rel="stylesheet" href="{% static 'bootstrap/css/bootstrap.min.css' %}">
</head>
<body>

<p>
    <input type="text" id="d1">+
    <input type="text" id="d2">=
    <input type="text" id="d3">
</p>
<p><input type="submit" id="btn"></p>

<script>
    $('#btn').on('click', function () {
        $.ajax({
            // 先给目标url 不填默认就是向当前url发送请求
            url: '',
            // 定义请求方法 ,默认不填是get方法
            type: 'post',
            // 定义提交到后端的数据
            data: {'d1': $('#d1').val(), 'd2': $('#d2').val()},
            // 因为是异步提交,所以需要定义回调函数,函数的形参用来接收后端传来的数据
            success: function (sum) {
                $('#d3').val(sum)
            }
        })
    })
</script>
</body>
</html>

【2】后端视图函数#

def ajax(request):
    # 因为前端定义了是post请求 所以用POST方法来接收数据
    if request.method == 'POST':
        d1 = request.POST.get('d1')
        d2 = request.POST.get('d2')
        # 因为传来的数据是一个字符串,所以需要转一下数据类型
        d3 = int(d1) + int(d2)
        # 通过HttpResponse将计算的结果传回到前端
        return HttpResponse(d3)
    return render(request, 'ajax.html')

作者:Esofar

出处:https://www.cnblogs.com/Hqqqq/p/18094904

版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。

posted @   HuangQiaoqi  阅读(6)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
more_horiz
keyboard_arrow_up dark_mode palette
选择主题
menu
点击右上角即可分享
微信分享提示