【发布时间】:2016-02-29 12:20:18
【问题描述】:
我有一个接受 POSTed AJAX 数组的 Python WebApp。我可以很好地访问数组:
print self.request.POST.items()
#(new lines in response for readability)
[(u'verb', u'create'),
(u'my_id', u'18'),
(u'properties[1]', u'1000'),
(u'properties[3]', u'2000')]
至关重要的是,提供的属性是 a) 未知数量,并且 b) 并不总是连续的。
目前我用这个来收集它们:
i = 0
while i <= 50:
current_key = 'properties['+str(i)+']'
if self.request.get(current_key) != "":
self.response.out.write(self.request.get(current_key))
i = i + 1
但是当我这样做时,我对自己感到恶心(而且大多数时候只有不到 50 个属性,而且有一天可能会更多......我不确定是否会更马虎,更少Pythonic 解决方案)。
关于我在这里缺少什么的任何提示?如果我尝试直接访问“属性”(计划是对其进行迭代或其他内容),它是未设置的,这让我认为我只是在查看名为“属性 [1]”和“属性 [3”的断开连接的字符串的集合]' 实际上根本不是数组/列表/字典。
如果这是一个更简洁的修复,我确实可以访问另一端的 js - 目前它类似于:
var properties = {1:1000, 2:2000, 4:3000};
$.post( "/api", { verb: 'create', my_id: my_id, properties: properties })
【问题讨论】:
标签: python python-2.7 webapp2