python - 进行 AJAX 调用以将下拉值传递给 python 脚本

标签 python html ajax flask

我想从包含数据库名称的下拉列表中传递选定的值,并将其传递给后台的 python 脚本,该脚本连接到传递的数据库名称。 以下是我写的ajax代码

<script type="text/javascript">
    $(document).ready(function(){
        $("button").click(function(){
            $.ajax({
          url : "/form_submit",
          data : $('#databases').val(),
          type : 'POST',
          success : alert("Hi dear count " + $('#databases').val())
        });
        });
    });
</script>

“数据库”是 HTML 中选择标签的 ID。我正在写数据:

$('#databases').val() 

将数据传递给 python 代码。

以下是应该接受传递值的 python 代码。如果我直接从控制台运行下面的代码,那么它以 json 格式返回结果,但间接运行它没有成功

@app.route("/form_submit/", methods=['GET','POST'])
def connect():
    import json
    dtb = request.select['value']
    db = MySQLdb.connect("localhost","root","",dtb)
    cursor =  db.cursor()
    cursor.execute("SELECT * FROM REPORT_SUITE")
    results = cursor.fetchall()   
    json_return_value =[]

    for result in results:
        table_data = {'REPORTSUITE_ID' : result[0], 'REPORTSUITE_NAME' : result[1], 'STAGING_DATABASE' : result[2], 'DWH_DATABASE' : result[3], 'TRANS_TABLE' : result[4]}
        json_return_value.append(table_data)
    print ("hi")
    print json.dumps(json_return_value)
    return json.dumps(json_return_value)

我已将变量声明为 dtb = request.select['value'],它应该接受通过 AJAX 调用传递的数据库名称。 此外,我应该能够在我的网络浏览器中看到以 JSON 格式返回的数据。 我环顾四周并应用了许多建议的解决方案,但我仍然无法确定如何传递和捕获传递的值。

最佳答案

对于POST请求,传递的值可以是obtained by

request.form['value']

关于python - 进行 AJAX 调用以将下拉值传递给 python 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32390566/

相关文章:

python - 导入cv2时出错: 'libSM.so.6: cannot open shared object file: No such file or directory'

python - 如何更改默认 Python 版本?

javascript - 网页上的谷歌广告可以从当前页面抓取内容吗?

html - 图像未显示 - 样式 "display: none"来自哪里?

Javascript 异步/等待 ajax 调用

javascript - 使用 ajax 回复博客文章评论

python - 为什么在 snakefile 中设置 `wildcard_constraints` 会阻止删除标记为 `temp` 的文件?

python - 删除系列/数据帧多索引中的列

Firefox 上的 JavaScript : Accessing binary data from html object possible?

javascript - Chrome 应用程序使页面无响应