You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django中点击el-table行后无法获取对应行值的问题求助

解决Django后端无法接收el-table行点击POST数据的问题

核心问题是前端点击表格行时,没有把该行的数据传递给后端,导致medicineRequestSelect函数里拿到的都是None。下面是具体的排查和解决步骤:

问题原因

你的前端handle方法中,发起POST请求时仅创建了空的URLSearchParams对象,没有添加任何参数,相当于发送了一个空请求,后端自然无法获取到数据:

// 原代码:未携带row数据
axios.post(ToDJ('medicineRequestSelect'), new URLSearchParams()).then(...)

解决方案

修改前端的handle方法,将点击行的row数据中需要的字段添加到请求参数中,后端就能正常获取值了。

修改后的前端handle方法

// 行点击处理函数
handle(row, event, column) {
  console.log(row, event, column)
  // 构造请求参数,把row中的关键字段添加进去
  const params = new URLSearchParams();
  params.append('id', row.id);
  params.append('order_id', row.order_id);
  params.append('ward_number', row.ward_number);
  
  axios.post(ToDJ('medicineRequestSelect'), params).then(res => {
    if (res.data.code === 0) {
      console.log(res.data.data)
      // 注意:原代码中this.list = res.data.data会覆盖现有表格数据,若不需要请删除这行
      let index = this.list.findIndex(item => item.id === row.id)
      if (index === -1) {
        this.$refs.multipleTable.toggleRowSelection(row, true);
        this.list.push(row)
      } else {
        this.$refs.multipleTable.toggleRowSelection(row, false);
        this.list.splice(index, 1)
      }
    } else {
      this.NotifyFail(res.data.data)
    }
  })  
},

后端代码无需修改

你的view_doctor.py逻辑是正确的,只要前端传递了参数,request.POST.get()就能正常获取值:

@api_view(['GET',"POST"])
def medicineRequestSelect(request):
  
  id = request.POST.get('id')
  order_id = request.POST.get('order_id')
  ward_number = request.POST.get('ward_number')
  print("Values: ", id, order_id, ward_number)
  
  return Action.success()

额外提示

  1. 如果row中的字段可能为空,建议添加非空判断,避免传递undefined:
if (row.id) params.append('id', row.id);
  1. 若想传递整个row对象,也可以用JSON格式发送请求,此时后端需要通过request.data获取数据:
    • 前端修改:axios.post(ToDJ('medicineRequestSelect'), row)
    • 后端修改:id = request.data.get('id')

相关截图说明

  • 截图1:后端控制台输出Values: None None None,说明请求未携带参数
  • 截图2:el-table正常渲染出数据,说明前端已正确获取到列表数据,仅传递环节出问题

内容的提问来源于stack exchange,提问作者Jolin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 09:02:56