javascript - 使用 jQuery 中 GET 请求的信息通过 Flask 显示转换后的结果

标签 javascript jquery python flask get

我正在尝试根据客户所做的特定选择发送他们的信息。我想使用 GET 请求,因为我不会更改服务器上的任何信息。但是,我不知道如何实际访问 GET 请求中的任何信息;我一直在研究如何在 Flask 中使用查询字符串,但运气不佳。在返回到 javascript 后,我​​需要对结果进行额外的操作,因此我想将我的响应保留在成功函数中,如下所示,而不是使用任何类型的模板。

我真正可以改变的唯一事情是如何发送数据(如果它需要是 JSON 或字符串以外的其他内容)以及如何在 Flask 中访问它。这可能吗?我该怎么做?

app.py
from flask import Flask, render_template, request, jsonify

app = Flask(__name__)

def myFunc(s):
    return str(s) + "!"

@app.route("/")
def index():
    # resp = myFunc(selectedOption)
    # return resp

if __name__ == '__main__':
    app.run(debug=True)

index.html

<!DOCTYPE html>
<html>
<head>
    <title>getTest</title>
    <!-- Latest compiled and minified CSS -->
    <link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
    <!-- jQuery library -->
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
    <!-- Latest compiled JavaScript -->
    <script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
    <script src="{{ url_for('static', filename='script.js')}}"></script>
</head>
<body>
    <select id="options">
        <option value="option1">Option 1</option>
        <option value="option2">Option 2</option>
        <option value="option3">Option 3</option>
        <option value="option4">Option 4</option>
    </select>
    <button class="btn btn-default" id="submit">Submit</button>
    <p id="demo"></p>
</body>
</html>

脚本.js

$(document).ready(function() {
    $("#submit").click(function() {
        var selectedOption = $("#options").val();
        $.ajax({
            url: "/",
            method: "GET",
            data: selectedOption, //open to changing
            success: function(result) {
                $("#demo").html(result);
            }
        });
    });
});

最佳答案

您应该更改您的 ajax 调用,以便它使用命名参数,而不仅仅是将数据设置为等于您的选项

    $.ajax({
        url: "/",
        method: "GET",
        data: {'selectedOption': selectedOption}, //open to changing
        success: function(result) {
            $("#demo").html(result);
        }
    });

使用 request.args.get('selectedOption') 访问查询字符串

@app.route("/")
def index():
    resp = myFunc(request.args.get('selectedOption'))
    return resp

关于javascript - 使用 jQuery 中 GET 请求的信息通过 Flask 显示转换后的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32042194/

相关文章:

javascript - 使用jquery随机显示页面内的图像

php - 在传递给 PayPal 之前使用 JQuery 更新表单字段

python - 如何防止pyinstaller创建的exe被Antivirus删除?

javascript - 定位动态创建的按钮

javascript - 添加在 D3 可缩放散点图中缩放的线

javascript - Angular 2 与[禁用]的双向绑定(bind)

javascript - 使用 SPServices 从 Sharepoint 列表中获取项目时,项目未定义

javascript - 在 Google Analytics 事件跟踪代码中使用 Javascript 来自动化类别命名

python - python @cache 装饰器是如何工作的?

python - 使用 odbc_connect 从 SQLAlchemy 连接到 SQL 服务器