javascript - 如何从从 javascript 发送到烧瓶的发布请求中获取返回值
问题描述
这里是烧瓶的新手。我需要将一个整数变量从 html/javascript 传递给 python 烧瓶,以便执行计算并将结果值返回给 javascript,这样我就可以在 DOM 上显示它而无需刷新页面。下面是我正在处理的 HTML 结构。
<form action="/buy" method="post" id="buy-form">
<h4>Price</h4>
<input
type="text"
id="limit-price"
name="limit-price"
/>
<h4>Quantity</h4>
<input
type="text"
id="limit-quantity"
name="limit-quantity"
/>
<button type="button" id="maximize-buy">Max</button>
<input type="submit" name="buy" value="BUY" id="submit-buy" />
</form>
我想通过limit-price
单击按钮将输入到文本输入中的值传递给烧瓶(使用 Javascript),maximize-buy
以便在 python 烧瓶中执行计算,然后将该结果返回给 Javascript,以便我可以将其显示在页面不刷新。
解决方案
你可以使用ajax
<form>
..... your form..
<div id="div-id></div>
</form>
<script>
data ={
price = $('#limit-price').val(),
quantity = $('#limit-quantity').val()
}
$.ajax({
url: url,
method: "POST",
data: data
}).done(function (data) {
$('#div-id').html(data['val']);
}).fail(function (error) {
alert(error);
});
</script>
并在烧瓶中创建一个函数
@app.route(url)
def calc():
quantity = request.form['quantity']
price = request.form['price']
return jsonify({'val': quantity*price})
推荐阅读
- python-3.x - 删除python中的url/@等
- database - React:创建不同的用户配置文件
- windows - 在 windows cmd 中的一行上写两个命令时,有没有办法分隔变量名?
- python-3.x - 使用 Python 请求抓取 ajax 网站
- ruby-on-rails - 在 Rouge 语法高亮中使用 ERB 块作为文字
- variables - 在 Dax 中添加静态表
- database - 无法从数据库表中获取消息。ErrorException say:count(): 参数必须是数组或者实现了Countable的对象
- apache-spark - 在 spark 2.3.2 中,调用 Dataset.count() 时出现 java.lang.ClassCastException
- excel - 从excel中的字符串中提取日期并复制到新行
- angular - 如何在不重新渲染整个页面的情况下更新 observable 的部分值?