首页 > 解决方案 > 在Django中通过AJAX传递一个列表

问题描述

在后端,我有一个在调用 ajax 时需要更新的请求。

options = request.GET.getlist('Options')

默认情况下,它是一个空列表 [],但是当我通过 ajax 发送数据时,它会返回一个数组中的字符串数组。

data: {'Options':JSON.serialize(["Fruit"])}

在后端,它返回 --> [ ' [ "Fruit" ] ' ]

如果,我传入一个字符串,比如 'Fruit'

data: {'Options': "Fruit")}

然后我在后端得到我的预期结果--> ['Fruit']

这没关系,但不适用于多个值,我该如何解决这个问题?

标签: djangoajaxdjango-views

解决方案


您可以使用以下命令将其反序列化为 Python 列表:

from json import loads as jloads

options = jloads(request.GET['Options'])

或者如果我们不确定该项目是否通过,我们可以使用默认值:

from json import loads as jloads

options = jloads(request.GET.get('Options', 'null'))

推荐阅读