python - 是否可以在 jquery (Flask + Python) 中的 $.get 中使用 $.post
问题描述
我对 Python 中的 Flask 比较陌生。如果我的问题听起来很愚蠢,请多多包涵。
我有一个GET
像下面这样的功能:
@app.route('/transactions', methods=['GET','POST'])
def get_transactions():
...
我在 html 上有一个文本框(#transaction_year),我需要在上述函数中使用该输入(作为 $.post)。上面的函数是通过下面的 JQuery 调用的
$('#get-transactions-btn').on('click', function (e) {
$.get('/transactions', function (data) {
....
});
});
问题是当按钮 (get-transactions-btn) 被点击时,函数 (get_transactions) 作为 a 运行GET
并获取数据。是否可以在执行 $.get 之前执行类似下面的操作来运行 $.post 并且仍然具有输入文本框 (#transaction_year) 中的值?
$('#get-transactions-btn').on('click', function (e) {
$.get('/transactions', function (data) {
var transaction_year = $("#transaction_year").val();
$.post("/transactions", { transaction_year: transaction_year })
....
});
});
这样我就可以在我的函数中使用它,如下所示?
@app.route('/transactions', methods=['GET','POST'])
def get_transactions():
# Store the value from post here
transaction_year = float(request.form['transaction_year'])
...
谢谢并感谢任何反馈。
解决方案
我已经设法解决这个问题。我创建了一个单独的函数来将 $.post 值存储在全局变量 input_year 中。
input_year = 1
@app.route('/transactions_input', methods=['POST'])
def get_transactions_input():
global input_year
transaction_year = float(request.form['transaction_year'])
input_year = transaction_year
return 'Done'
将 JQuery 更新为以下内容:
$('#get-transactions-btn').on('click', function (e) {
var transaction_year = $("#transaction_year").val();
$.post("/transactions_input", { transaction_year: transaction_year })
$.get('/transactions', function (data) {
....
});
});
全局变量设置输入框的值,可以在里面使用/transactions
。
推荐阅读
- python - 如何在一张图上绘制不断变化的线性方程(多个拼接在一起)
- visual-studio - 使用发布配置文件部署到 Azure:使用 Jenkins 时在 VS2017 上发布失败时有效
- javascript - Laravel,我网站上的所有点击事件都已停止工作
- sql - 没有@Query Spring JPA MYSQL的CASE语句
- javascript - 使用 bundle.config 捆绑 2 个具有相同名称和参数的函数的 .js 文件后会发生什么?
- vue.js - 在 vue js 中显示第一个对象
- excel - 使用 Excel VBA 下载 SEC 文件 - 内联 XBRL 查看器问题
- excel - 满足行条件的唯一记录的公式
- asp.net - 您无权访问 IIS 配置文件 - Web 应用程序错误
- nginx - 如何使用 Tor 代理在 Nginx 中隐藏我的网站 IP 地址?