2015-09-04 5 views
5

Ich möchte den ausgewählten Wert von Dropdown übergeben, die Namen von Datenbanken enthält und übergeben Sie es an das Python-Skript im Hintergrund, die mit dem übergebenen Datenbanknamen verbindet. Nach der Ajax-Code, iMachen Sie einen AJAX-Aufruf zum Übergeben von Drop-Down-Wert an das Python-Skript

<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> 

Die "Datenbanken" geschrieben haben, ist die ID des select-Tag in HTML. Ich schreibe Daten:

$('#databases').val() 

, um die Daten an den Python-Code übergeben.

Folgendes ist der Python-Code, der den übergebenen Wert akzeptieren sollte. Wenn ich den Code unten direkt von der Konsole ausführen, dann gibt sie das Ergebnis im JSON-Format aber läuft es indirekt nicht

@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) 

ich erklärt haben, die Variable als dtb = request.select['value'] gelungen, den Namen der Datenbank durch AJAX-Aufruf übergeben akzeptieren soll. Auch ich sollte in der Lage sein, die zurückgegebenen Daten im JSON-Format in meinem Webbrowser zu sehen. Ich habe mich umgeschaut und viele vorgeschlagene Lösungen angewendet, aber ich bin immer noch nicht in der Lage zu bestimmen, wie der übergebene Wert übergeben und abgefangen wird.

+0

Willkommen bei Stackoverflow sein. Was genau meinst du damit, "es indirekt zu führen, ist nicht gelungen"? Gibt es eine Fehlermeldung? Siehst du das 'print (" hi ") - Ergebnis in der Konsole, wenn die AJAX-Anfrage gesendet wird? Sehen Sie sich dazu an, wie Sie eine gute Frage stellen können (https://stackoverflow.com/help/how-to-ask). – FriendFX

+0

Ich erstelle eine Web-Anwendung mit Python Kolben, wenn ich also auf die Schaltfläche auf der HTML-Seite klicken, sollte es zu/form_submit/gehen, den übergebenen Wert dh Datenbankname akzeptieren, eine Verbindung herstellen und dann die Daten im JSON-Format zurückgeben angezeigt auf der Webseite und nein, es wird nicht gedruckt "Hallo". Die Fehlermeldung, die ich bekomme, ist 'Request' Objekt hat kein Attribut 'select'. Daher ist es nicht möglich, das