首页 > 解决方案 > Web2py:如何将参数从视图传递到控制器以从数据库中删除记录

问题描述

我有一张桌子,每一行都有一个“删除”按钮。我想要做的是通过该按钮的 onclick 函数将行 ID 传递给控制器​​上的“删除”函数。

我的控制器

def studentDelete():
    rec_id = request.args(0)
    crud.delete(db.student, rec_id,next=URL('Home','Students_List'))

我的视图(当我单击按钮时,显示一个模式以帮助用户确认或取消删除操作。如果用户决定删除记录,#warning 是模式中接受按钮的 ID。)

<div class='btn-group btn-group-justified JpositionA'><a class='btn btn-warning Jview btn-xs opciones'><span class='glyphicon glyphicon-remove'></span></a></div>;

<script>
$(document).on('click', '.opciones', function(e){
      e.preventDefault();
      btn = $(this);
      var tr = $(this).closest('tr');
      var row = tabla.row( tr );
      var datos=row.data();
      var id_record=datos.student.id;

      $('#myModal').modal('show')
     .one('click', '#warning', function(e) {
                     ajax('{{=URL('Tools', 'studentDelete')}}' + '?value=' + id_record);
          });
        });
     });
</script>

标签: web2py

解决方案


Javascript 代码将查询字符串中的记录 ID 作为变量发送到服务器value,但 Python 代码需要request.args. 您可以简单地将 Python 代码更改为:

    rec_id = request.get_vars.value

推荐阅读