美文网首页
dajngo实现ajax异步刷新

dajngo实现ajax异步刷新

作者: 裴general | 来源:发表于2018-05-12 22:07 被阅读0次

前言

实现前后端分离,异步刷新

1.应用文件中配置路由urls.py

urlpatterns = [
    url(r'sajax/', views.sajax),
]
urlpatterns += router.urls

2.配置views.py

def sajax(request):
    if request.method == 'GET':
        return render(request, 'stuajax.html')

3.配置html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>展示所有学生</title>
    <script type="text/javascript" src="/static/js/jquery.min.js"></script>
    <script type="text/javascript">
<scipt>
 {#第一种写法#}
$(function () {
          $('#showStus').click(function () {
                $.get('/stu/student/', function (msg) {
                    s = '<table><tr><td>ID</td><td>姓名</td><td>电话</td></tr><td>操作</td></tr>'
                    for ( var i=0; i<msg.data.length; i++) {
                        s += '<tr><td>' + msg.data[i].id + '</td>' +
                            '<td>' + msg.data[i].s_name + '</td>' +
                            '<td>' + msg.data[i].s_tel + '</td>' +
                            '<td>'+ '<a href="javascript:;" onclick="update_stu(' + msg.data[i].id +')" >编辑</a></td>' +
                            '<td>' +'<a href="javascript:;" onclick="del_stu(' + msg.data[i].id+ ')">删除</a></td></tr>'
                    }
                    s += '</table>'
                    $('#div_stus').html(s)
                }, 'json');
             });
        });

 {#第二种json写法#}
{#改变状态#}
function cartchangeselect(cart_id){
    csrf = $('input[name="csrfmiddlewaretoken"]').val()
    $.ajax({
        url:'/stu/change/',
        type:'POST',
        data:{'cart_id':cart_id},
        dataType:'json',
        headers:{'X-CSRFToken':csrf},
        success:function(msg){
            if(msg.is_select){
                // 偷天换日
                 s = '<span id="selectallgoodsid" onclick="cartchangeselect(' + cart_id +')">√</span>'
            }else{
                s = '<span id="selectallgoodsid" onclick="cartchangeselect(' + cart_id +')">X</span>'
            }

            $('#changeselect_' + cart_id).html(s)
        },
        error:function(msg){
            alert('请求失败')
        }
    });
};
    </script>
</head>
<body>
    <input id="showStus" type="button" value="获取">
{#    <script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>#}
    <div id="div_stus">
    </div>
    <div id="div_update_stus"></div>
    <input onclick="createStu()" type="button" value="创建">
    <div id="div_create_stu"></div>

    {% csrf_token %}


</body>
</html>

4.views.py中处理请求, 返回数据

def user_change_select(request):

    if request.method == 'POST':
        cart_id = request.POST.get('cart_id')
        user = request.user
        data = {
            'code': '200',
            'msg': '请求成功'
        }
        if user and user.id:
            cart = CartModel.objects.filter(pk=cart_id).first()
            if cart.is_select:
                cart.is_select = False
            else:
                cart.is_select = True
            cart.save()
            data['is_select'] = cart.is_select
        return JsonResponse(data)

相关文章

  • dajngo实现ajax异步刷新

    前言 实现前后端分离,异步刷新 1.应用文件中配置路由urls.py 2.配置views.py 3.配置html ...

  • Ajax

    Ajax简介 通过AJAX (Asynchronous JAvaScript and XML) 实现异步刷新 用于...

  • echarts的异步数据加载及更新

    echarts可以使用ajax实现异步刷新数据 //后台代码 前台代码

  • AJAX

    通过AJAX(Asynchronous JavaScript And XML)实现异步刷新,与服务器交换数据并更新...

  • 2018 10 21

    学习jQuery下的ajax方法获取异步刷新数据

  • jquery ajax

    Ajax(Asynchronous Javascript + XML)异步刷新起到了无可比拟的作用,以前写Ajax...

  • 十分钟了解ajax

    ajax其实是实现异步刷新,他的用处是在不重新载入页面的情况下,与与服务器交换数据并更新网页。看下面的例子,不着急...

  • ajax的操作原理、以及请求到的数据转码和解码

    实际ajax是单线程操作的,只是因为有一个回调函数从新调取而实现的异步刷新技术 单线程:分有前驱和后驱。前驱没有前...

  • Ajax异步刷新技术

    应用场景 有的时候,我们需要让本次的响应内容和下一次响应的内容,同时展示给客户端。使用Ajax就可以在当前的网页显...

  • 无标题文章

    ajax是异步javascript +xml的缩写,页面异步刷新。 json 是一种轻量级的数据交换格式,json...

网友评论

      本文标题:dajngo实现ajax异步刷新

      本文链接:https://www.haomeiwen.com/subject/aswhdftx.html