我想从下拉列表中选择包含数据库名称的值,并将其传递给连接到传递的数据库名称的后台的python脚本。 以下是我写进行AJAX调用,将下拉值传递给python脚本
$(document).ready(function(){
$("button").click(function(){
$.ajax({
url : "/form_submit",
data : $('#databases').val(),
type : 'POST',
success : alert("Hi dear count " + $('#databases').val())
});
});
});
的“数据库”是在HTML选择标签的ID Ajax代码。我写数据:
$('#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调用中传递的数据库名称。 另外,我应该能够在我的Web浏览器中看到以JSON格式返回的数据。 我环顾四周,应用了许多建议的解决方案,但我仍然无法确定如何传递和捕获传递的值。
2015-09-04
sk215
+0
欢迎StackOverflow上。 “间接运行它没有成功”是什么意思?是否有错误讯息?当发送AJAX请求时,您是否在控制台中看到“print(”hi“)”结果?看看[如何提出一个很好的问题](https://stackoverflow.com/help/how-to-ask)了解一些指导。 –
+0
我正在使用python烧瓶创建一个web应用程序,所以当我点击html页面上的按钮时,它应该去/ form_submit /,接受传递的值,即数据库名称,连接到它,然后返回json格式的数据显示在网页上,不,它不打印'嗨'。我得到的错误消息是'请求'对象没有'选择'属性。所以它无法识别我用于下拉的标签。 –
+0
您是否使用过浏览器的开发人员工具来确定传递给瓶子和/或调试javascript的请求数据? –