- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
Python3.6.1::Anaconda 4.4.0(64bit) + Flask 0.12.2
我像这样使用 jQuery 发布我的数据
$.ajax({
url:'/immutableTest',
data: {'key': kvs },
type: 'POST'
});
而typeof kvs是一个对象
(数组),里面有很多对象。因此,当 console.log(kvs)
获取
(3) [{…}, {…}, {…}]
0:{"status": "good", "color": "#414141", "describe": "The machine is running"}
1:{"status": "error", "color": "#ff0000", "describe": "Something error with it"}
2:{"status": "powerOff", "color": "#000000", "describe": "Closing"}
我的数据看起来像在后端
@main.route('/immutableTest', methods=['POST'])
def immutableTest():
for k, v in request.form.items():
print(k, v)
key[0][status] powerOff
key[0][color] #414141
key[0][describe] The machine is running
key[1][status] error
key[1][color] #ffff00
key[1][describe] Something error with it
key[2][status] powerOff
key[2][color] #000000
key[2][describe] Closing
所以我编写程序来提取我需要的键值。 我想重新编写以下代码。
@main.route('/immutableTest', methods=['POST'])
def immutableTest():
kvs=[]
kv={}
i=0
for kk, vv in request.form.items():
kv[kk.split('[')[2].replace(']', '')] = vv
if i == 2:
kvs.append(kv)
kv={}
i = 0
else:
i = i + 1
print(kvs)
# Script to Database to update...
return 'Update success.'
这将导致
[
{"status": "good", "color": "#414141", "describe": "The machine is running"},
{"status": "error", "color": "#ff0000", "describe": "Something error with it"},
{"status": "powerOff", "color": "#000000", "describe": "Closing"}
]
我需要结果,以便我可以轻松更新 MongoDB 中的数据。
最佳答案
嗯,您必须在您的上下文中定义“智能”的含义。如果您想要更易于管理且更标准的方式在 JS 前端和 Python 后端之间传输结构化数据,您可以使用 JSON,而不是将数据打包为 POST 结构。例如JS端:
$.ajax({
url:'/immutableTest',
data: JSON.stringify(kvs),
contentType: "application/json",
type: 'POST'
});
然后在您的 Flask 应用中:
@main.route('/immutableTest', methods=['POST'])
def immutableTest():
kvs = request.get_json()
print(kvs)
它应该自动传输结构。
关于python-3.x - 从 ImmutableMultiDict 中提取的智能方法(列表中的字典),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47645029/
这是我的代码: @user_bp.route('/band', methods=['GET', 'POST']) def band_details(): from include.form.U
这个问题在这里已经有了答案: In Flask convert form POST object into a representation suitable for mongodb (6 个答案)
我收到的数据是 ImmutableMultiDict ImmutableMultiDict([('slim[]', '{"server":[{"status":"SUCCESS"}],"meta":{
我写了一个小 flask 文件: myapp.py @APP.route('/login', methods=['GET','POST']) def login(): return flask
您好,我正在尝试添加一个新的键值对,但我收到错误消息TypeError: 'ImmutableMultiDict' objects are immutable 我尝试添加新键的变量来自 request
有人可以说这段代码有什么问题吗?我得到的错误: TypeError: 'ImmutableMultiDict' object is not callable def login(): error =
尝试将文件上传到服务器,但 ImmutableMultiDict 对象返回空。 上传.html Upload File Ajax $(function() { $('#uploa
address_dict = {'address': {'US': 'San Francisco', 'US': 'New York', 'UK': 'London'}} 当通过请求发送上述参数时,如
Python3.6.1::Anaconda 4.4.0(64bit) + Flask 0.12.2 我像这样使用 jQuery 发布我的数据 前端 $.ajax({ url:'/immutab
我正在从 http.server 过渡到 Flask。我使用 AJAX 上传图像现在已损坏。这正在运行 Python 3。 无效的故障排除: 我已在 Ajax 请求中包含 multipart/form
我是一名优秀的程序员,十分优秀!