小谈Django中的Ajax组件

时间:2020-10-13 17:12:06   收藏:0   阅读:28

AJAX

json

XML

json出现之前一直使用XML , 结构类似于HTML的标签 , 一组一组的把内容括起来 ;

AJAX简介

AJAX( Asynchronous Javascript And XML ) , 异步的Javascript 和XML ; 即 : 使用Javascript语言和服务器进行异步交互 , 传输的数据为XML( 不只是XML , 现在基本都是JSON) ;

AJAX不是新的编程语言 , 而是Javascript技术 , 是一种使用现有标准的新方法 ;

AJAX最大的优点是在不重新加载整个页面的情况下 , 可以与服务器交换数据并更新部分网页内容 ; 给用户的感受是在不知不觉中完成请求和响应过程 ;

AJAX不需要任何浏览器插件 , 但需要用户允许Javascript在浏览器上执行 :

ajax简单示例

urls.py,代码如下:

from django.conf.urls import url
from django.contrib import admin
from app01 import views

urlpatterns = [
    url(r‘^admin/‘, admin.site.urls),
    url(r‘^index/‘, views.index),
    url(r‘^calc/‘, views.calc),
]

views.py,代码如下:

from django.shortcuts import render, HttpResponse


def index(request):
    return render(request, ‘index.html‘)


def calc(request):
    i1 = request.POST.get(‘i1‘)
    i2 = request.POST.get(‘i2‘)
    i3 = int(i1) + int(i2)
    return HttpResponse(i3)

index.html,代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<input type="text" name="i1">+
<input type="text" name="i2">=
<input type="text" name="i3">
<button id="b1">计算</button>

<script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.min.js"></script>

<script>
    $(‘#b1‘).click(function () {
        $.ajax({
            url: ‘/calc/‘,
            type: ‘post‘,
            data: {
                i1: $(‘[name="i1"]‘).val(),
                i2: $(‘[name="i2"]‘).val(),
            },
            success: function (res) {
                $(‘[name="i3"]‘).val(res)
            }
        })
    })
</script>

</body>
</html>

运行效果如下:

技术图片

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!