django - Django:Ajax 数据在 Django 获取时发生变化
问题描述
一些奇怪的事情发生在我身上,我不知道为什么:
我有我想通过 ajax 发送到 django 的数据:
const params = {
"status__in":['pendant','confirmed'],
"access_date__year":2020,
"access_date__month":05,
"billable":true
}
我使用数据表来创建一个包含我收到的数据的表,这是数据表的 ajax 选项:
const ajax_options = {
ajax: {
url:get_consumptions_url,
data: params
}
}
然后我使用以下代码获取 ajax 参数:
ajax_data = request.GET.dict()
所以在尝试将数组添加到我的参数之前一切正常,但是当我检查 python 中的 ajax 参数调试时,我得到了这个:
{
'access_date__month': '10',
'access_date__year': '2020',
'billable': 'true',
'status__in[]': 'confirmed'
}
检查“status__in”,它与我在参数中的完全不同。
为什么会这样?
解决方案
当 ajax 调用中的参数值是一个数组时,它在 Django 请求中的 POST 中被视为一个列表,您应该使用它getlist
来访问该列表。请参阅Django 文档了解更多信息。
推荐阅读
- c++ - 为什么 NULL 不能作为 std::thread 执行函数的 void* 参数的参数?
- datetimepicker - 12 小时格式的日期时间选择器 - Umbraco 管理面板
- android - 如何从除 main.dart 之外的其他文件中获取参考
- xml - XPath - 动态选择和查找元素的值
- sql - 在 Sequelize 后端查询中查找匹配对象
- python - 有序数组中的Python选择,一个接一个地选择值
- c# - 无法导入“System.Web.Helpers”
- terraform-provider-azure - 模块目录不存在或无法在 Terraform 中读取
- mirth - 欢笑,每条消息后更改文件写入器目标
- c++ - 尽管 if 子句为假,但为什么会引发错误?