【发布时间】:2016-05-26 19:19:44
【问题描述】:
我正在烧瓶上构建一个 python 端点(我对它很陌生)。我正在从 PHP 向它发送请求(因为这是我们大多数用户用来发送请求的方式)。我有一个应该发送的非关联数据数组(即类似'mode' => array('foo', 'bar', 'baz'))
但是在烧瓶中做str(request.form)时,我得到的只是ImmutableMultiDict([('mode[1]', 'foo'), ('mode[0]', 'bar'), ('mode[2]', 'baz')])
现在查看stackoverflow(例如Sending array data with jquery and flask)后,我发现这表明我应该能够执行request.form.getlist('mode[]') 之类的操作(带或不带方括号-取决于您在此处查看的问题)。但是两者都不起作用。
最终我找到了一个临时解决方案,如果您在将数据放入 curl 帖子字段之前对数据进行 json_encode(即您执行'mode' => json_encode(array('foo', 'bar', 'baz')),那么 Flask 似乎可以很好地接收到东西(ImmutableMultiDict([('mode', '["foo","bar","baz"]')])。
但我真的不明白为什么这个解决方案有效 - 我是靠运气而不是任何有根据的猜测才发现它的。谁能解释一下为什么这样做的逻辑或者是否有更好的 (TM) 解决方案。
提前致谢!
【问题讨论】:
标签: php python curl python-requests werkzeug