获得json的价值

时间:2017-10-10 16:11:55

标签: jquery ajax flask

Aloha,我正在尝试关注this tutorial,这里是Git of it

我非常成功,但现在我想尝试修改一下这个代码:)

from flask import Flask, jsonify, request, render_template

app = Flask(__name__)

Persons = [{'name' : 'Arnold' , 'email' : 'disceps@gmail.com'},
           {'name' : 'Alex Mikro' , 'email' : 'kovalsky@gmail.com'}, 
           {'name' : 'Phost Arnold' , 'email' : 'arn@gmx.de'}]

所以,我创造了以下价值

现在,我想从此获得一个POST响应......所以,如果一个名字等于键入的名称,那么应该有一个响应..

@app.route('/pers', methods=['POST'])
def addOne():
    email = request.form['email']
    name = request.form['name']

if name and email:
    pers = [persons for persons in Persons if persons['name'] == name]
    pers[0]['name'] = request.get_json(force=True).get('name')    
    if name == pers[0]:
        return jsonify({'name' : name})


return jsonify({'error' : 'Missing data!'})

但不幸的是,这不起作用..

P.S。视频中提到的代码

def addOne():
email = request.form['email']
name = request.form['name']

if name and email:
    newName = name[::-1]
    return jsonify({'name' : newName})

return jsonify({'error' : 'Missing data!'})

工作没有任何麻烦:) 所以我认为,我的IF声明存在问题......

1 个答案:

答案 0 :(得分:1)

行。在那里发生了很多事情。根据大卫主义,请解释你想要做的事情。

的问题:

  • 您的原始示例中有一个包含多个词典的列表。
  • 然后您有一个表单,您可以从两个字段('email''name')中获取值,并将它们分配给变量(emailname
  • 然后,如果填充了变量,则构建一个带有列表推导的列表(pers),其中pers将包含Persons列表中带'name'的任何字典。 1}}与name变量匹配的值。为什么?
  • 然后我失去了你。之后的代码似乎做了多个不必要的任务。

if name and email:下的几乎所有内容都没有任何意义。如果你解释你的意图,我认为有人可以提供帮助。事实上,我看不到你打算做什么。

您从视频中提供的示例并未执行您正在执行的操作。它从变量newName创建一个新变量name,它来自表单(name = request.form['name'])。为什么newName使name成为wb的反转版本我不知道,但即便如此,它仍然比你想要的更简单。