【问题标题】:Send a list to django within an ajax GET request在 ajax GET 请求中向 django 发送列表
【发布时间】:2016-01-22 16:11:56
【问题描述】:

我在这里和外面发现很多帖子都在谈论这个问题,但有POST 请求。

这是问题:我的 javascript 中有一个列表,我需要将该列表作为参数发送到 django 视图。

Javascript

 $.ajax({
    url: "myMethod",
    type: "GET",
    data: {"par1":par1,"par2":par2,"list":list},
    cache: false,
    success: function(d){
      // DO SOMETHING
    }
}

Python 代码 (views.py)

def myMethod(request):
    par1 = request.GET.get('par1')
    par1 = request.GET.get('par2')
    list = request.GET.get('list') # DON'T WORK
    #OR
    list = request.GET.getlist('list') # DON'T WORK
    #OR
    list = request.GET.getlist('list[]') # DON'T WORK
    result = DO_SOMETHING(par1,par2,list)
    return result

我尝试了在其他帖子中找到的三种方法,但都没有奏效。

【问题讨论】:

  • 您还没有确定问题所在。还有par1-par3 是什么?
  • 更重要的是这里的list是什么,Django对列表有特定的格式可以用getlist()得到
  • @charlietfl 很抱歉,我认为这很清楚,请参阅这是问题
  • @farhawa 清如泥。您尚未确定是否正在提出请求或任何有助于解决问题的基本故障排除步骤。我们如何知道您是否遇到服务器端或客户端问题......或两者兼而有之。更不用说向我们展示了许多未定义的变量
  • 可以显示request.GET的内容吗?

标签: javascript jquery python ajax django


【解决方案1】:

您可以在发布之前加入列表并在您的 django 视图中拆分它吗?

Javascript

$.ajax({
    url: "myMethod",
    type: "GET",
    data: {"par1":par1,"par2":par2,"list":list.join("-and-")},
    cache: false,
    success: function(d){
      // DO SOMETHING
    }
}

Python 代码 (views.py)

def myMethod(request):
    par1 = request.GET.get('par1')
    par1 = request.GET.get('par2')
    list = request.GET.get('list').split('-and-')

    result = DO_SOMETHING(par1,par2,list)
    return result

【讨论】:

    猜你喜欢
    • 2013-12-13
    • 1970-01-01
    • 2021-01-05
    • 2021-06-24
    • 1970-01-01
    • 2020-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多