javascript - Python flask : send variable data to textarea on the same html page w/JQuery

标签 javascript python jquery html flask

我有一个单页简单的 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/

相关文章:

jquery - 实时处理不适用于 event.stopPropagation();

jquery - AJAX 加载后在 Contact Form 7 表单上启用 AJAX

javascript - 使用 SSH2 和 SFTPStream 将文件从服务器流式传输到 AWS S3 存储桶

javascript - 异步 xml 加载并在 html 中分页显示

python - 如何使用 Class 装饰器包装器?

python - 如何在 Python 中发送和接收 HTTP POST 请求?

python - 为什么 Azure ML 的得分概率响应大于 1?

javascript - 如何使用jquery检查属性为="admin_emal"的标签是否存在?

javascript - 在 javascript 中向 CanvasRenderingContext2D 添加标记

php - 如何在 jQuery 中回显 PHP?