Django Ajax-基本局部刷新实现,以加法为例

现在写Web,不用Ajax怎么可以呢!!

用Django肯定不能完全都让Django加载呀,而且老是跳页面对用户也不好!!

因此,我们采取Ajax来实现:

以加法为例子。

urls.py中注册路由:


    path('add/', views.add, name='add'),

视图层views.py将界面写一下:

def index(request):
    return render(request, 'tttt/index.html')


def add(request):
    a = request.GET['a']
    b = request.GET['b']
    if request.is_ajax():
        ajax_string = 'ajax request: '
    else:
        ajax_string = 'not ajax request: '
    c = int(a) + int(b)
    r = HttpResponse(ajax_string + str(c))
    return r

然后是界面,写在模版中:

<!DOCTYPE html>
<html>
<body>
<p>请输入两个数字</p>
<form action="/add/" method="get">
    a: <input type="text" id="a" name="a"> <br>
    b: <input type="text" id="b" name="b"> <br>
    <p>result: <span id='result'></span></p>
    <button type="button" id='sum'>提交</button>
</form>

<script src="http://apps.bdimg.com/libs/jquery/1.11.1/jquery.min.js"></script>
<script>
    $(document).ready(function(){
      $("#sum").click(function(){
        var a = $("#a").val();
        var b = $("#b").val();

        $.get("/t/add/",{'a':a,'b':b}, function(ret){
            $('#result').html(ret)
        })
      });
    });
</script>
</body>
</html>
{#            $.ajax({#}
{#                url: "/t/add/",#}
{#                type: "POST",#}
{#                data: "a=" + a + "&b=" + b,#}
{#                success: function (data) {#}
{#                    $('#result').html(data)#}
{#                }#}
{#            });#}

使用.ajax的话,会有个CSRF问题,以后解决!

运行起来,结果如下:

这样等于就实现了局部刷新。

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值