【问题标题】:Problems passing json to javascript in flask application在烧瓶应用程序中将 json 传递给 javascript 的问题
【发布时间】:2018-09-11 21:51:28
【问题描述】:

我有以下路线代码:

@app.route('/getUser', methods=['GET'])
def getUser():
    main = Main()
    value = request.args.get('user_name')
    user = main.getValues(value)
    print(json.dumps(user))
    return json.dumps(user)

将 json 传递给模板:

<form>
        <label>Nome usuario:</label>
        <input type="text" value="" name="user_name" id="user_name"/>
        <button id="btn_pesquisar">Pesquisar</button> <br>

        <label id="id"></label> <br>
        <label id="nome"></label>

    </form>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <script charset="utf-8">
        $('#btn_pesquisar').click(function(e){
            e.preventDefault();
            $.get("/getUser", { user_name: $('#user_name').val() })
            .done(function( data ) {
                $('#id').html("Id: " + data.id) +
                $('#nome').html("Nome: " + data.nome)
            });
        });
    </script>

但是当我要求javascript将json值放入标签中时,它会放入undefined,但是当我在路由函数中返回之前打印json时,它会返回以下json:
@ 987654324@

谁能帮我把值放到模板中?

【问题讨论】:

  • 你可能需要告诉 jQuery 响应是 JSON 格式,它可能被解释为字符串。
  • 它的作品,我将 json.dumps(user) 更改为 jsonify(user),谢谢帮助

标签: javascript python json flask


【解决方案1】:

在 python 中,json.dumps 会产生一个字符串。

您需要JSON.parse(your_string),它将生成一个对象,然后您可以使用 jQuery 访问该对象。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-02-21
    • 2019-01-19
    • 2017-05-08
    • 2020-12-21
    • 2015-04-18
    • 1970-01-01
    • 2020-06-16
    • 2018-11-08
    相关资源
    最近更新 更多