繁体   English   中英

从 Java 脚本获取请求后,如何在 Flask 中渲染模板()?

[英]How to render_template() in Flask after fetching request from Java Script?

我会尽力解释我的问题。 我有一个 web 应用程序。 我需要将 JSON 中的一些数据从 Java 脚本传递到 Flask 的端点。 为此,我使用 Fetch API。 数据按照我的意愿传递到端点,我可以在 python 的控制台中打印它,所以我确信它可以正常工作。 这是JS发布的代码:

        var data = {
            x: 3
        };          
        
        fetch('/correctInvoice', {
            method: 'POST',
            body: JSON.stringify(data)
        })
        .then(function (response) {
            if (response.status !== 200) {
                console.log(`Status code: ${response.status}`);
                return;
            }
            response.json().then(function (data) {
                console.log(data);
            });
        })
        .catch(function (error) {
            console.log("Error: " + error);
        });

我的“/correctInvoice”端点看起来像这样:

@app.route('/correctInvoice', methods = ['POST'])
def correctInvoice():
     x = request.get_json(force = True)
     print("type of: " + str(type(x)))
     print(x)
     res = make_response(jsonify(x), 200)
     return res

我的问题是返回res会导致响应在 JS 中获取 API,我需要在浏览器中显示它,就像没有request.get_json(force = True)一样。 我只需要在浏览器中看到这个 JSON,我完全不知道该怎么做。

提前致谢; ;)

我认为这将有助于在浏览器中返回 JSON 响应

return jsonify(res) # replace it with "return res"

端点中的最后一行

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM