在Python Flask中传递Javascript数组 [英] Passing Javascript array in Python Flask
本文介绍了在Python Flask中传递Javascript数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在使用 python flask
开发和应用程序,我想将 JavaScript
函数(数组)的返回值发送到 python 代码>功能.下面是代码.
I'm developing and application with python flask
and I want to send the return value of a Javascript
function(an array) to a python
function. Given below is the code.
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
.任何帮助都将受到高度赞赏.谢谢.
I want the array from the Javascript function getVals()
to be passed to the python function end_stu_live_session
. Any help is highly appreciated. Thanks.
推荐答案
- 您可以通过Ajax将JSON函数(数组)的返回值作为JSON发送给Python方法.
- 从AJAX发送
contentType:'application/json'
,并在Flask中以request.json
接收数据. - You can send the return value of a Javascript function(an array) to a Python method via Ajax as JSON.
- Send
contentType: 'application/json'
from AJAX and receiving the data asrequest.json
in Flask.
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>
输出:
这篇关于在Python Flask中传递Javascript数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文