javascript - 在 Python Flask 中传递 Javascript 数组

标签 javascript python flask

我正在使用python Flask进行开发和应用,我想将Javascript函数的返回值(一个数组)发送到python函数。下面给出的是代码。

Javascript

<script>
  function getVals(){
      a = [ab, cd];
      return a;
  }
</script>

HTML

<a href="/end_stu_live_session">End This</a>

Python

@app.route('/end_stu_live_session')
def end_stu_live_session():
   return render_template('stu_dashboard.html')

我希望将 Javascript 函数 getVals() 中的数组传递给 python 函数 end_stu_live_session。非常感谢任何帮助。谢谢。

最佳答案

  • 您可以通过 Ajax 将 Javascript 函数的返回值(数组)以 JSON 形式发送到 Python 方法。
  • 从 AJAX 发送 contentType: 'application/json' 并在 Flask 中以 request.json 形式接收数据。

app.py:

from flask import Flask, render_template, request, jsonify

app = Flask(__name__)

@app.route('/end_stu_live_session',methods=["GET", "POST"])
def end_stu_live_session():
    if request.method == 'POST':
        data = request.json
        return jsonify(data)
    return render_template("home.html")

app.run(debug=True)

home.html:

<html>
    <head>
        <title>Flask Ajax</title>
        <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    </head>
    <body>
        <div id="data"></div>       
        <button id="demo_btn">Dummy button</button>
        <script>
            function getVals(){
                  a = ["ab", "cd"];
                  return a;
            }
            $(document).ready(function () {
                $("#demo_btn").on("click", function() {
                    var js_data = JSON.stringify(getVals());
                    $.ajax({                        
                        url: '/end_stu_live_session',
                        type : 'post',
                        contentType: 'application/json',
                        dataType : 'json',
                        data : js_data
                    }).done(function(result) {
                        console.log(result);
                        $("#data").html(result);
                    }).fail(function(jqXHR, textStatus, errorThrown) {
                        console.log("fail: ",textStatus, errorThrown);
                    });
                });
            });
        </script>       
    </body>
</html>

输出:

flask ajax request

关于javascript - 在 Python Flask 中传递 Javascript 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53694709/

相关文章:

javascript - 我如何从其子组件访问主要组件? react js

python - 在 Pandas 中创建许多新列的最 Pythonic 方式

python - Flask-如何从查询中抑制 "None"

javascript - 点击链接,div滑出,链接div滑入,点击关闭重新加载第一个div

javascript - 如何从对象 [Firebase 唯一键] 中检索数据

javascript - BabelJS和Webpack配置以获得最大的兼容性

python - 通过匹配整数的第 n 位数字来返回 Pandas 数据帧中的行?

python - Mac OS X 中文件系统的 Unicode 编码在 Python 中不正确?

python - OpenCV VideoCapture 在 Flask 项目中不起作用,但在基本示例中起作用

python - SQLAlchemy Flask 过滤器查询以组合来自两个模型的结果