2015-09-04 129 views
5

我想從下拉列表中選擇包含數據庫名稱的值,並將其傳遞給連接到傳遞的數據庫名稱的後臺的python腳本。 以下是我寫進行AJAX調用,將下拉值傳遞給python腳本

<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 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格式返回的數據。 我環顧四周,應用了許多建議的解決方案,但我仍然無法確定如何傳遞和捕獲傳遞的值。

+0

歡迎StackOverflow上。 「間接運行它沒有成功」是什麼意思?是否有錯誤訊息?當發送AJAX請求時,您是否在控制檯中看到「print(」hi「)」結果?看看[如何提出一個很好的問題](https://stackoverflow.com/help/how-to-ask)瞭解一些指導。 – FriendFX

+0

我正在使用python燒瓶創建一個web應用程序,所以當我點擊html頁面上的按鈕時,它應該去/ form_submit /,接受傳遞的值,即數據庫名稱,連接到它,然後返回json格式的數據顯示在網頁上,不,它不打印'嗨'。我得到的錯誤消息是'請求'對象沒有'選擇'屬性。所以它無法識別我用於下拉的