我有一个单页简单的 Web 项目,它从 1 个文本区域获取数据,对其进行处理,并需要在另一个文本区域内的同一页面上输出结果。
我尝试过关注 How to post the output result on the same page in flask app? ,但我实际上对 js 很烂(尤其是 jquery :) ),所以我的服务器抛出 400 BAD REQUEST。
app.py 的handle_data()
@app.route("/", methods=['GET', 'POST'])
def handle_data():
if request.method == 'POST':
holder = Submission(request.form['submitText'])
it = holder.res.splitlines()
for line in range(len(it)):
global tst
if "What kind of submission is this?" in it[line]:
if "Sold Property" in it[line+1]:
tst = Sale(request.form['submitText'])
return jsonify(tst=tst)
elif "Financed" in it[line+1]:
tst = Loan(request.form['submitText'])
return jsonify(tst=tst)
else:
tst = Lease(request.form['submitText'])
return jsonify(tst=tst)
return render_template("index.html")
index.html
<button class="bigButton" id="sendSub">START</button>
<div class="textAreaCont">
<form action="" method="POST" id="sub_form">
<textarea rows="4" cols="50" class="textArea" id="submitText"></textarea>
<button class="smallButton" id="clearButton">CLEAR</button>
</form>
</div>
<div class="textAreaCont">
<textarea rows="4" cols="50" class="textArea" id="getText" readonly></textarea>
<button class="smallButton" id="saveAsButton">SAVE AS</button>
<button class="smallButton" id="copyButton">COPY</button>
</div>
脚本.js
$(document).ready(function(){
$("#sendSub").click(function(){
var $isEmpty = $("#submitText").val();
if($isEmpty != ""){
// somehow tell handle_data() it's POST request and throw the result of handle_data() inside #getText textarea
}
感谢所有的帮助!
最佳答案
应该是这样的,但请确保您正确读取了 javascript 中的 json 数据。
$(document).ready(function(){
$("#sendSub").click(function(){
var isEmpty = $("#submitText").val();
if(isEmpty != ""){
$.ajax({
url: '/',
data: {'csrfmiddlewaretoken': '{{ csrf_token }}'}
success: function (data) {
$('#getText').val(data); # the data returned from your view
}
});
}
});
}):
关于javascript - Python flask : send variable data to textarea on the same html page w/JQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57606995/