2015-09-04 18 views
5

Veritabanlarının adlarını içeren açılır listeden seçili değeri geçmek ve geçirilen veritabanı adına bağlanan arka planda python komut dosyasına aktarmak istiyorum. Takip i Bir AJAX çağrısı yapın Python betiğine açılan değeri geçmek için

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

"veritabanları"

yazılı HTML select etiketinin id var ajax kodudur. Verileri python koduna iletmek için veri yazıyorum:

.

Aktarılan değeri kabul etmesi gereken python kodu aşağıdadır. i konsoldan doğrudan aşağıdaki kodu çalıştırırsanız, o zaman json formatında sonuç döndürür ama dolaylı olarak AJAX çağrısı geçirilir veritabanı adını kabul etmelidir dtb = request.select['value'] olarak değişken bildirdikten

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

başarılı değil çalışıyor. Ayrıca web tarayıcımda JSON biçiminde döndürülen verileri görebilmem gerekir. Çevreye baktım ve birçok önerilen çözümü uyguladım, ancak aktarılan değeri nasıl geçeceğimi ve yakalayabileceğimi hala belirleyemiyorum.

+0

Hoşgeldin olabilir. Tam olarak ne demek "dolaylı olarak yürütmek başarılı olmamıştır"? Bir hata mesajı var mı? AJAX isteği gönderildiğinde 'print (" hi ")' sonucunu görüyor musunuz? Bazı rehberlik için [iyi bir soru nasıl sorulur] (https://stackoverflow.com/help/how-to-ask) adresine bir göz atın. – FriendFX

+0

Python şişesi kullanarak bir web uygulaması oluşturuyorum, bu yüzden html sayfasındaki düğmeyi tıklattığımda/form_submit/adresine gitmeli, geçirilen değeri kabul etmeli, yani veritabanı adını, bağlanmalı ve daha sonra verileri json biçiminde döndürmeli web sayfasında görüntülenir ve hayır 'hi' yazmaz. Aldığım hata mesajı 'İstek' nesnesinin "select" özelliğine sahip olmamasıdır. Bu nedenle, düşürmek için kullanmış olduğum