我想从包含数据库名称的下拉列表中传递选定的值,并将其传递给后台的 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/