使用ajax异步更新后台数据并无刷新更新页面数据

为提高用户体验,在现在的web开发中会大量使用ajax技术异步更新后台数据,实现页面无刷新更新页面上的数据。

以下是本人在开发《IT设备管理系统》中使用 ajax更新设备的使用人和状态的代码

1. 前端页面显示如下:  User Status和Resigdate字段以及‘用户领用的设备’的值通过按钮【用户离职,回收设备】调用 ajax,异步更新后台的数据,并在页面无刷新更新

2

 

点击【用户离职,回收设备】按钮后, ajax  更新后台的数据库记录,将用户的Resigndate, lastupdate,User Status和用户领用的设备相关记录更新, 同时前端页面在保持不刷新的情况下更新了相应字段的值

 

2,以下是ajax, 

function testajax(id, user_list_id){

   // var id=$(ths).parent().parent().attr('nid');
  //  var orderid="{{ request.session.orderid  }}";


    //给传递的data加一个时间变量,时间由下面的var times获得,以解决在IE中工作不正常的问题
    var times=new Date().getTime();
    $.ajax({
    type: 'GET',
    url: '/deviceman/ajax_update_pc',
    dataType: 'json',
    data:{id:id,times:times,user_list_id:user_list_id},
    success: function(ret){
    alert(ret.state);
    window.location.reload();


                           }
           });

    }

3. 以下是后台的对应的视图函数,响应前端AJAX的调用,完成数据库记录的更新。

def ajax_update_pc(request):
    if request.method == 'GET':
        pc_id = request.GET.get('id', None)
        user_list_id = request.GET.get('user_list_id')
        print('get pc_id from ajax "%s"'%(pc_id))
        if pc_id:
            pc_list.objects.filter(id=pc_id).update(user_list_id='180', host_status='inventory')
            data={'state':"Computer information has been sucessfully updated"}
            #data = list(pc_list.objects.filter(user_list_id=user_list_id).values("id", "host_name","service_tag","hosttype"))
            #data.append(data1)
            result=json.dumps(data)
            print(result)
    return HttpResponse(result, "application/json")

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章