微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何将变量从 Python Flask 转移到 JavaScript?

如何解决如何将变量从 Python Flask 转移到 JavaScript?

我正在为我的机器学习项目使用 Python Flask 和 JavaScript 开发一个简单的网站。它有一个表单,可以从用户那里获取数据,然后预测目标并将其发送回用户。我将表单的动作设置为“索引”,当表单提交时,应该加载页面“index.html”。我尝试使用 POST 方法从 JavaScript 获取数据并且它有效,但另一方面,我无法将答案从 Python 传输到 JavaScript。 我的 POST 方法代码是这样的:

@app.route('/',methods = ['POST','GET'])
def myFunction():
if request.method == "POST":
    myVariable = request.form["example"]
    answer = myModel.predition(myVariable)

    return redirect(url_for("index"))

else:
    return render_template("myWeb.html")

我尝试在 Flask 中使用 GET 方法并在 JS 中获取来传输答案,但由于我的答案变量在 myFunction() 中,因此我无法在它之外使用 GET。此外,当我尝试显示一个简单的字符串作为答案时,它不起作用。我的代码是这样的:

@app.route('/index','GET'])
def answer():
if request.method == 'GET':
    message = {"prediction"}
    return jsonify(message)

而我的 JS 是:

fetch('/index')
    .then(function (response) {
          return response.json();
  }).then(function (text) {
      console.log('GET response:');
      console.log(text); 
  });

我真的不知道我应该如何解决这个问题并成功地在 index.html 上显示我的答案。我在索引页面显示内部服务器错误

解决方法

message = {"prediction"} 是一个包含您的字符串的 Set。通常集合不是 JSON 可序列化的。您必须在此处使用列表 message = ["prediction"](或删除括号以简单地返回字符串)

顺便说一句:你的缩进看起来坏了......也许是复制粘贴问题,但请检查你的代码是否正确缩进。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。