在ajax GET请求内发送一个列表到django

问题描述:

我发现这里和外部很多帖子都在讨论这个问题,但是有POST请求。在ajax GET请求内发送一个列表到django

这就是问题:我在我的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 

我想,我在其他帖子中发现三种方式,但没有在工作。

+0

您还没有确定是什么问题。另外'par1-par3'是什么? – charlietfl

+0

更重要的是,这里的'list'是什么,Django有一个可以用'getlist()'得到的列表的特定格式。 – adeneo

+0

@charlietfl对不起,我认为这很清楚,请参阅**这是问题** – farhawa

您可以在发布之前加入列表并将其拆分到您的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